我ApiKeyAuth
在 OpenAPI 中使用(使用 Python 和 Connexion),并且希望能够X-API-Key
在header
或query
. 规范似乎表明我只能拥有一个或另一个,而不是同时拥有两者。
这种方式只是覆盖了密钥,因此只有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"