关于鉴权
对于鉴权,如果鉴权失败,之前是直接返回401状态码,但是我们想同样的返回错误信息和message
此时就需要自定义一个鉴权失败的回调函数
我们在response.go中增加一个鉴权失败的回调函数
func JwtUnauthorizedResult(w http.ResponseWriter, r *http.Request, err error) {
httpx.WriteJson(w, http.StatusUnauthorized, &Response{401, "鉴权失败", nil})
}
然后在api入口程序user.go中修改代码如下
func main() {
flag.Parse()
var c config.Config
conf.MustLoad(*configFile, &c)
// 此处加入鉴权失败的回调
server := rest.MustNewServer(c.RestConf, rest.WithUnauthorizedCallback(response.JwtUnauthorizedResult))
defer server.Stop()
ctx := svc.NewServiceContext(c)
handler.RegisterHandlers(server, ctx)
fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port)
server.Start()
}
版权声明:本文为gzyx1988原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。