如何让Swagger在Header和request URL中发送api_key?

时间:2017-05-30 14:59:08

标签: swagger swagger-ui

我能够将api键表示为标题或URL末尾的标记,但我需要将它们作为两者。反正有可能吗?图片是链接的 here

2 个答案:

答案 0 :(得分:0)

window.swaggerUi.api.clientAuthorizations.add(swashbuckleConfig.apiKeyName, new SwaggerClient.ApiKeyAuthorization(swashbuckleConfig.apiKeyName, key, "header"));
      window.swaggerUi.api.clientAuthorizations.add(swashbuckleConfig.apiKeyName + " query", new SwaggerClient.ApiKeyAuthorization(swashbuckleConfig.apiKeyName, key, "query"));

答案 1 :(得分:0)

在API规范的securityDefinitions中定义标头和查询参数:

securityDefinitions:
  apiKeyHeader:
    type: apiKey
    in: header
    name: X-EGEN-AccessTokenID
  apiKeyQueryParam:
    type: apiKey
    in: query
    name: api_key   # replace with your query param name

然后,如果您需要两者,请在同一请求中传递标头和查询参数:

security:
  - apiKeyHeader: []
    apiKeyQueryParam: []

或者,如果要么应该使用标头或查询参数,而不是两者都使用:

security:
  - apiKeyHeader: []
  - apiKeyQueryParam: []

更多信息: http://swagger.io/docs/specification/authentication/api-keys/

在Swagger UI中,当您单击“授权”时,您将输入标题和查询参数的值。