答案 0 :(得分:19)
是的,OpenAPI(Swagger)2.0和3.0允许您定义多个安全定义,并将操作标记为需要多个证券,例如一对API密钥。
在以下示例中,我定义了两个API密钥Key
和SecretKey
,这两个API密钥都应出现在每个请求的标头中,以便进行身份验证。
swagger: '2.0'
info:
version: 0.0.0
title: Simple API
securityDefinitions:
key:
type: apiKey
in: header
name: Key
secret_key:
type: apiKey
in: header
name: SecretKey
paths:
/:
get:
# Both 'Key' and 'SecretKey' must be used together
security:
- key: []
secret_key: []
responses:
200:
description: OK
请注意,这与
不同 security:
- key: []
- secret_key: [] # <-- Note the leading dash here
表示端点需要Key
或SecretKey
,但不能同时使用。{/ p>