跳转到内容

基本身份验证

基本身份验证是内置于 HTTP 协议中的一种简单的身份验证方案。客户端发送带有 Authorization 标头的 HTTP 请求,其中包含单词 Basic,后跟一个空格和一个 base64 编码的字符串 username:password。例如,要以 demo / p@55w0rd 的身份进行授权,客户端将发送

1
Authorization: Basic ZGVtbzpwQDU1dzByZA==

注意: 由于 base64 很容易解码,因此基本身份验证应与其他安全机制(如 HTTPS/SSL)一起使用。

描述基本身份验证

使用 OpenAPI 3.0,您可以如下描述基本身份验证

1
openapi: 3.0.0
2
---
3
components:
4
securitySchemes:
5
basicAuth: # <-- arbitrary name for the security scheme
6
type: http
7
scheme: basic
8
9
security:
10
- basicAuth: [] # <-- use the same name here

第一部分 securitySchemes 定义了一个名为 basicAuth(任意名称)的安全方案。此方案必须具有 type: httpscheme: basic。然后,security 部分将基本身份验证应用于整个 API。方括号 [] 表示使用的安全范围;由于基本身份验证不使用范围,因此该列表为空。security 可以全局设置(如上面的示例中所示),也可以在操作级别设置。如果只有部分操作需要基本身份验证,后者很有用

1
paths:
2
/something:
3
get:
4
security:
5
- basicAuth: []

基本身份验证还可以与其他身份验证方法结合使用,如使用多种身份验证类型中所述。

401 响应

您还可以定义为缺少或不正确的凭据而返回的 401“未授权”响应。此响应包括 WWW-Authenticate 标头,您可能需要提及。与其他常见响应一样,401 响应可以在全局 components/responses 部分中定义,并通过 $ref 在其他地方引用。

1
paths:
2
/something:
3
get:
4
...
5
responses:
6
...
7
'401':
8
$ref: '#/components/responses/UnauthorizedError'
9
post:
10
...
11
responses:
12
...
13
'401':
14
$ref: '#/components/responses/UnauthorizedError'
15
...
16
components:
17
responses:
18
UnauthorizedError:
19
description: Authentication information is missing or invalid
20
headers:
21
WWW_Authenticate:
22
schema:
23
type: string

要了解有关 responses 语法的更多信息,请参阅描述响应

没有找到您要找的内容?咨询社区
发现错误?请告知我们