Swagger UI身份验证标头

时间:2017-04-05 14:51:08

标签: jwt swagger swagger-ui api-key

目前,我有一个流程,用户可以通过该流程获取JSON Web令牌(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中的任何内容,我不完全确定如何制作它以便用户可以输入他们的密钥?

1 个答案:

答案 0 :(得分:4)

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

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

security:
  - UserSecurity: []

然后,您应该会看到Swagger UI标题中的授权按钮。