Swagger支持api密钥的安全性,但这似乎仅限于单个参数.
有没有办法定义一组预期作为请求中的参数的参数(密钥和秘密)?
或者只是跳过安全方案的唯一方法,只是将这些参数添加到每个请求?
Moh*_*sen 20
是的,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
# Or if you use OpenAPI 3.0:
# components:
# securitySchemes:
# 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
Run Code Online (Sandbox Code Playgroud)
请注意,这与...不同
security:
- key: []
- secret_key: [] # <-- Note the leading dash here
Run Code Online (Sandbox Code Playgroud)
这意味着端点期望要么Key或SecretKey,但不能同时.
| 归档时间: |
|
| 查看次数: |
26850 次 |
| 最近记录: |