获取Access Token
通过用户验证登录授权后,获取授权令牌Access Token,Access Token是第三方应用在调用竹云IDaaS 获取用户信息时必须传入的参数。
# 请求说明
POST https://{your_domain}/api/v1/oauth2/token
# 请求头
参数名 | 中文名称 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
Authorization | 认证信息 | 必须 | Basic UnFCMkhKdNOWk9xWA== | 使用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
grant_type=authorization_code&code=stRWlW&redirect_uri=http://oauthdemo.bccastle.com/demo/index.jsp
# 请求参数
参数名 | 中文名称 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
grant_type | 授权类型 | 必须 | authorization_code | 此值固定为authorization_code。 |
code | 授权码 | 必须 | stRWlW | 上一步返回的authorization code。 用户成功登录后跳转到指定的回调地址, 并在URL中带上Authorization Code。 注意此code会在5分钟内过期。 |
redirect_uri | 回调地址 | 可选 | http://oauthdemo.bccastle.com /demo/index.jsp | 与上面一步中传入的redirect_uri保持一致。 |
# 返回示例
正确返回示例
HTTP Status: 200 OK
{
"access_token": "Z43T3KWH9lecmy3H1IaCI...XRmsXaA",
"token_type": "Bearer",
"refresh_token": "WEAFOmOJ-A4LOhF_I39DvJuqxP0...XkFlFA",
"expires_in": 7199,
"scope": "get_user_info"
}
code参数为空
HTTP Status: 400 BAD REQUEST{
"error": "invalid_request",
"error_description": "An authorization code must be supplied."
}
code参数错误
HTTP Status: 400 BAD REQUEST
{
"error": "invalid_grant",
"error_description": "Invalid authorization code: a2W0B8Q"
}
clientSecret认证失败
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
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
# 返回参数
如果成功返回,即可在返回信息中获取到Access Token。
参数名 | 中文名称 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
access_token | 授权令牌 | 必须 | NObiKQS-cn8AWnZyIMkOvBgHIo8 | 授权服务器返回给第三方应用的授权令牌。 |
expires_in | 授权令牌的有效期 | 必须 | 7199 | 授权服务器返回给应用的访问票据的有效期。注意:有效期以秒为单位。 |
refresh_token | 刷新令牌 | 可选 | wuGzSMMTjb4YhRUOjXHj-t-QD84 | 平台默认不返回,当在IDaaS应用界面配置的refresh_token有效期,且refresh_token有效期大于等于access_token有效期时,在获取Access Token接口中会返回refresh_token。 |
token_type | 令牌类型 | 必须 | Bearer | |
scope | 授权范围 | 必须 | get_user_info |