go-zero鉴权(jwt)失败回调函数错误处理

  • Post author:
  • Post category:其他

关于鉴权

对于鉴权,如果鉴权失败,之前是直接返回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 版权协议,转载请附上原文出处链接和本声明。