跳到内容

基本认证

基本认证是一种内置于HTTP协议中的非常简单的认证方案。客户端发送的HTTP请求中包含Authorization头,该头包含Basic 单词,后跟一个空格和base64编码的username:password字符串。例如,一个包含demo / p@55w0rd凭据的头将被编码为

1
Authorization: Basic ZGVtbzpwQDU1dzByZA==

注意:由于base64可以轻易解码,因此基本认证只能与其他安全机制(例如HTTPS/SSL)一起使用。

基本认证很容易定义。在全局securityDefinitions部分中,添加一个type: basic的条目,并指定一个任意名称(本例中为basicAuth)。然后,通过使用security部分,将安全性应用于整个API或特定操作。

1
securityDefinitions:
2
basicAuth:
3
type: basic
4
5
# To apply Basic auth to the whole API:
6
security:
7
- basicAuth: []
8
9
paths:
10
/something:
11
get:
12
# To apply Basic auth to an individual operation:
13
security:
14
- basicAuth: []
15
responses:
16
200:
17
description: OK (successfully authenticated)

401 响应

您还可以定义针对缺少或错误凭据的请求返回的401“未授权”响应。此响应包含WWW-Authenticate头,您可能希望提及它。与其他常见响应一样,401响应可以在全局responses部分中定义,并从多个操作中引用。

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

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

© . All rights reserved.