我已按照 cooking 书指南中的字母操作,在此处找到https://echo.labstack.com/cookbook/jwt

但是,当使用JWT中间件时,添加自定义错误消息存在一些问题。即使没有给出返回404的详细信息(用户名和密码),登录也可以正常工作。

但是,当JWT丢失时,它返回400,我希望它也返回404。

因此,在我的研究中,我发现了https://forum.labstack.com/t/custom-error-message-in-jwt-middleware/325/3,其中列出了以下middleware.ErrJWTMissingmiddleware.ErrJWTInvalid,但是如何设置这些值尚不十分清楚?

我试图将它们设置为路由器文件上的var,就像这样

var (
  ErrJWTInvalid = echo.NewHTTPError(http.StatusTeapot, "test 104")
  ErrJWTMissing = echo.NewHTTPError(http.StatusTeapot, "test 103")
)

但是,仍然出现的错误是400,而不是418(因为这只是测试)。那我在做什么错?

最佳答案

您可以通过这种方式更改HTTP代码和消息。

func init() {
    middleware.ErrJWTMissing.Code = 401
    middleware.ErrJWTMissing.Message = "Unauthorized"
}

关于go - 如何为JWT中间件使用自定义错误设置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53355859/

10-11 16:35