获取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

# 返回参数

如果成功返回,即可在返回信息中获取到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