如何在 go-swagger 中使用代码 401 或 404 而不是 500 响应无效的不记名令牌

我使用 go-swagger 创建了一个 REST API 服务器,并为一些端点添加了不记名令牌安全性。根据文档,令牌验证方法应该具有类似func(string) (interface{}, error).


如果传递的承载令牌无效,令牌验证方法将返回错误。这导致对请求者的 500 个响应带有 JSON 响应正文:


{

    "code": 500,

    "message": "Token is expired"

}

但是,作为标准,我如何使用代码 401 做出此响应。


注意:可以在https://stackoverflow.com/a/60738107/16087692找到类似的 Java 讨论,有没有办法实现这个 Go?


侃侃尔雅
浏览 151回答 1
1回答

一只萌萌小番薯

我没有大摇大摆的经验,但偶然发现了这个问题。答案在示例中: https ://github.com/go-swagger/go-swagger/tree/master/examples/authentication该示例显示该函数返回一个:errors.New(401, "incorrect api key auth")这是包中的错误:“github.com/go-openapi/errors”,您可以在其中传入 http 状态代码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go