登录
首页 >  Golang >  Go问答

如何为 JWT 中间件使用自定义错误设置

来源:stackoverflow

时间:2024-03-16 14:33:27 415浏览 收藏

使用 JWT 中间件时,用户可能会遇到自定义错误设置问题。虽然按照指南进行操作可以正常登录,但丢失 JWT 时会返回 400 错误,而不是预期的 404。本文将探讨如何使用 middleware.errjwtmissing 和 middleware.errjwtinvalid 设置自定义错误,以便在丢失 JWT 时返回正确的错误代码和消息。

问题内容

我已按照烹饪书籍指南进行操作,可在此处找到 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 (
  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"
}

终于介绍完啦!小伙伴们,这篇关于《如何为 JWT 中间件使用自定义错误设置》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>