Skip to content

获取PKCE Access Token

通过用户验证登录授权后,获取授权令牌Access Token,Access Token是第三方应用在调用竹云IDaaS 获取用户信息时必须传入的参数。

请求说明

http
POST https://{your_domain}/api/v1/oauth2/token

请求头

参数名中文名称必填示例值描述
Content-Type数据类型必须application/x-www-form-urlencoded使用表单方式提交参数

请求示例

http
POST https://{your_domain}/api/v1/oauth2/token

Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&code=stRWlW&code_verifier=lw22ZEI0JwNflL4sjEISwk8

请求参数

参数名中文名称必填示例值描述
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保持一致。
code_verifierPKCE验证码必须lw22ZEINflL4sjEISwk8应用随机生成一串长度43-128的字符并作URL-Safe的Base64编码处理,结果用作 code_verifier,将这串字符通过SHA256哈希,并用URL-Safe的Base64编码处理,结果用作 code_challenge
client_id应用client_id必须RqB2HJt9N676qA应用申请授权时传递的client_id

返回示例

正确返回示例

json
HTTP Status: 200 OK
{
	"access_token": "Z43T3KWH9lecmy3H1IaCI...XRmsXaA",
	"token_type": "Bearer",
	"refresh_token": "WEAFOmOJ-A4LOhF_I39DvJuqxP0...XkFlFA",
	"expires_in": 7199,
	"scope": "get_user_info"
}

Client ID没有找到

json
HTTP Status: 400 BAD REQUEST
{   		
    "error": "invalid_grant",    		
    "error_description": "Client ID mismatch"
}

返回参数

如果成功返回,即可在返回信息中获取到Access Token。

参数名中文名称必填示例值描述
access_token授权令牌必须cn8AWnZyIMkOvBgHIo8授权服务器返回给第三方应用的授权令牌。
expires_in授权令牌的有效期必须7199授权服务器返回给应用的访问票据的有效期。注意:有效期以秒为单位。
refresh_token刷新令牌wuGzSMMTjb4YhRUOjXH
token_type令牌类型必须Bearer
scope授权范围必须get_user_info

竹云IDaaS开放平台