密码模式认证

用户在客户端输入用户名和密码进行登录,客户端应用后台调用统一认证平台获取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

# 返回参数

如果用户成功登录并授权,会返回系统的授权令牌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