0

ApiKeyAuth在 OpenAPI 中使用(使用 Python 和 Connexion),并且希望能够X-API-Keyheaderquery. 规范似乎表明我只能拥有一个或另一个,而不是同时拥有两者。

这种方式只是覆盖了密钥,因此只有header方法可用:

openapi: '3.0.0'
...
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: X-API-Key
      x-apikeyInfoFunc: app.apikey_auth
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      x-apikeyInfoFunc: app.apikey_auth
...

这会导致oneOf验证错误:

components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: 
        - header
        - query
      name: X-API-Key
      x-apikeyInfoFunc: app.apikey_auth

我想要的结果是能够做到:

curl -X GET "http://127.0.0.1:8000/acme" -H  "accept: application/json" -H  "X-API-Key: test12345"

或者:

curl -X GET "http://127.0.0.1:8000/acme?X-API-Key=test12345" -H  "accept: application/json"
4

0 回答 0