我正在使用swaggo(https://github.com/swaggo/swag)为我的API自动创建有效的swagger规范。
swagger规范允许我运行所有API端点并接收响应。
然后我向所有端点添加了JWT身份验证。现在,我无法使用swagger规范来运行任何端点,因为它总是无法通过身份验证。
我需要在每个端点上添加哪些批注,以配置Swagger规范以允许传递JWT?
我已阅读https://github.com/swaggo/swag上的自述文件,但Google搜索无济于事。
答案 0 :(得分:0)
似乎这些添加到每个端点的注释起到了作用……
// @Security ApiKeyAuth
// @param Authorization header string true "Authorization"
此评论也已添加到我们的main.go文件中
// @securityDefinitions.apikey ApiKeyAuth
答案 1 :(得分:0)
似乎您添加的JWT中间件将在swaaggo / swag的处理程序之前被调用。您可以发布路由设置吗?
答案 2 :(得分:0)
在main.go中将需要它们(这会将令牌以格式发送到标头:“ YourTokenName
:token
”):
//@securityDefinitions.apikey <YourTypeOfKey>
//@in header
//@name <YourTokenName>
然后将此注释添加到需要身份验证令牌的每个端点:
// @Security <YourTypeOfKey>
答案 3 :(得分:0)
// @Param Authorization header string true "Insert your access token" default(Bearer <Add access token here>)
将此参数添加到 swagger v2.0 中每个端点的标头
在 V3.0 中,我们可以直接访问不记名令牌。