在OpenAPI 3.0时代,在对于私有API保护方面有以下几个security shcemes:
- HTTP authentication schemes (使用Authorization header):
- 基础方式
- Bearer
- 在headers中添加API keys
- OAuth2
- OpenID Connect Discovery
第一步. 定义securitySchemes
首先你得确定一个事情那就是所有API使用到的security schemes必须在swagger.yaml文件中全局的components->securitySchemes
部分进行定义。components->securitySchemes
中包含了所有命名的security schemes
列表,每一个scheme
一定符合下列类型中的其中之一:
- http - 涉及HTTP的认证shemes,如:Basic, Bearer.
- apiKey - 普通的API keys和 cookies 认证
- oauth2 - OAuth 2
- openIdConnect - OpenID Connect Discovery
具体请看下面这段样本代码:
components:
securitySchemes:
BasicAuth:
type: http
sheme: basic
BearerAuth:
type: http
sheme: bearer
ApiKeyAuth: