【问题标题】:Swagger UI Authentication HeaderSwagger UI 身份验证标头
【发布时间】:2017-04-05 14:51:07
【问题描述】:

目前我有一个流程,用户可以通过该流程来获取 JSON Web Token (JWT)。然后使用此 JWT 为 API 的所有 http 请求设置 X-Access-Token 标头。我无法弄清楚如何执行此操作。

我相信可以添加到api_definition.yaml,以便出现一个字段,用户可以在其中输入他们的 JWT,然后可以将其作为标题添加到所有调用中。


解决方案尝试

我将以下内容添加到api_definition.yaml

securityDefinitions:
  UserSecurity:
    type: apiKey
    in: header
    name: X-Access-Token

security: [ { jwt: [] } ]

这似乎并没有改变 Swagger-UI 中的任何内容,而且我不完全确定如何做到这一点,以便用户可以输入他们的密钥?

【问题讨论】:

  • Swagger UI 的哪个版本 - 2.x 或 3.x?
  • @Helen swagger v 2.0
  • @Helen 我弄错了。我正在使用 Swagger 2.0 和 Swagger UI 3.0.3
  • 请看我对这个问题的回答:stackoverflow.com/questions/43669302/…

标签: jwt swagger swagger-ui api-key


【解决方案1】:

security 密钥中的安全方案名称必须与 securityDefinitions 中使用的名称匹配:

securityDefinitions:
  UserSecurity:
    type: apiKey
    in: header
    name: X-Access-Token

security:
  - UserSecurity: []

然后您应该会在 Swagger UI 标题中看到 Authorize 按钮。

【讨论】:

  • 授权按钮似乎仍未显示
  • 我还必须添加:方案:-http
猜你喜欢
  • 1970-01-01
  • 2022-10-25
  • 2021-07-20
  • 1970-01-01
  • 2016-01-30
  • 1970-01-01
  • 1970-01-01
  • 2019-06-19
  • 2021-09-26
相关资源
最近更新 更多