密码模式认证
用户在客户端输入用户名和密码进行登录,客户端应用后台调用统一认证平台获取Access Token接口。
# 请求说明
POST https://{your_domain}/api/v1/oauth2/token
# 请求头
参数名 | 中文名称 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
Authorization | 认证信息 | 必须 | Basic UnFCMOWk9xWA== | 使用client_id和client_secret进行basic64认证, 格式为: base64(client_id:client_secret) |
Content-Type | 数据类型 | 必须 | application/x-www-form-urlencoded | 使用表单方式提交参数 |
# 请求示例
POST https://{your_domain}/api/v1/oauth2/token
Authorization: Basic UnFCMkhKdGt6bFU...aT0NObkk4NlNOWk9xWA==
Content-Type: application/x-www-form-urlencoded
username=test&password=123456&grant_type=password
# 请求参数
参数名 | 中文名称 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
grant_type | 授权类型 | 是 | password | password |
username | 登录名 | 是 | test | 登录名/手机号/邮箱 |
password | 密码 | 是 | 123456 |
# 返回示例
正确返回示例
{
"access_token": "8ab9812c-1076-47f0-9e4a-6d48280ec524",
"token_type": "bearer",
"refresh_token": "92fe3c7a-f8ad-4dc3-b0c4-c0281c1fa560",
"expires_in": 3804,
"scope": "get_user_info"
}
用户名为空
HTTP Status: 400 Bad Request
{
"error": "invalid_request",
"error_description": "An authorization username must be supplied."
}
用户名密码不正确
HTTP Status: 400 Bad Request
{
"error": "invalid_grant",
"error_description": "Bad credentials"
}
用户已被锁定
HTTP Status: 400 Bad Request
{
"error": "invalid_grant",
"error_description": "User is locked"
}
用户已被禁用
HTTP Status: 400 Bad Request
{
"error": "invalid_grant",
"error_description": "User is disabled"
}
用户密码已过期
HTTP Status: 400 Bad Request
{
"error": "invalid_grant",
"error_description": "Password has expired"
}
应用凭据错误
HTTP Status: 401 UNAUTHORIZED
{
"error": "invalid_client",
"error_description": "Bad client credentials"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# 返回参数
如果用户成功登录并授权,会返回系统的授权令牌access token。
参数名 | 中文名称 | 示例值 | 描述 |
---|---|---|---|
access_token | 授权令牌 | 8ab9812c-1076-47f0-9e4a-6d48280ec524 | 授权服务器返回给第三方应用的授权令牌,后续所有接口访问均需提供此参数。 |
expires_in | 授权令牌的有效期 | 1500 | 授权服务器返回给应用的访问票据的有效期。注意:有效期以秒为单位。 |
refresh_token | 刷新令牌 | 92fe3c7a-f8ad-4dc3-b0c4-c0281c1fa560 | |
token_type | 令牌类型 | bearer | |
scope | 授权范围 | get_user_info |