在refresh_token有效期内,可以对access_token进行刷新,也是续期,这样企业服务平台用户就不需要重新进行登录。
请求方式:POST(HTTPS) Content-Type: application/x-www-form-urlencoded
请求地址:
生产环境:https://esp.xkw.cn/oauth2/token
沙箱测试环境:https://esp.doc.xkw.cn/oauth2/token
详细说明开发者可以参考The OAuth 2.1 Authorization Framework
参数 | 必须 | 说明 |
---|---|---|
grant_type | 是 | 当前值为refresh_token |
refresh_token | 是 | 刷新令牌的值,使用code获取access_token时,返回的refresh_token值 |
client_id | 是 | 企业服务平台分配的client_id |
client_secret | 是 | 企业服务平台分配的client_secret |
参数 | 说明 |
---|---|
access_token | 访问令牌,调用开放接口的凭证 |
refresh_token | 刷新令牌,在refresh_token有效期内,都可以对access_token进行刷新 |
scope | 授权范围,返回构造的授权链接请求中的scope |
id_token | ID令牌,jwt格式,使用企业服务平台的公钥进行签名验证 |
token_type | token类型 |
expires_in | access_token有效期,单位为秒 |
error_description | 错误描述 |
error_code | 错误码 |
error_uri | 错误详细说明地址 |
a) 成功返回示例如下:
{
"access_token": "eyJraWQiOiJjM2Q2ZDAxYiIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJ4eTA3NjE5IiwiYXVkIjoib2EiLCJuYmYiOjE3MTA0OTU5MzksInNjb3BlIjpbIm9wZW5pZCJdLCJpc3MiOiJodHRwczovL2VzcC5kb2MueGt3LmNuIiwiZXhwIjoxNzEwNDk2MjM5LCJpYXQiOjE3MTA0OTU5Mzl9.QOJnxNfbnfnDceTvM04lRoVyjOHBSqhY9mLQiOIG4tLI6Tk3yLeNS7hEukKUCUZjSZyih5ST5KSKXNmWY_cYoaodkSsYkUwPcispX_5meEL_Wey-6h9W3opLBYRYoGCR6-TPfaduLodtHXqTGlbjBdpdTxd_Trd2-_I4AbiEbbYhJlKPNKDzIJbsXtSh__PhEpEtcqpg1LM_aiPpUoDlx23TNspvMLJkPVpO5VUFc_CiGrUiIoqQWPIcuP8-siDmyYUKR9OIGhar2qzqRhNUvllC-d6MrZng0APOoWEaAgGnUlUuXAKSd2f0KJiI7EcDXpWocj6PwLr5YN2qZJNtjg",
"refresh_token": "2II3fiSbwcV0fayIHA417kJHf5UJwPxaT7V7TGoiyjvkq3Tf5SBgul8nUKTPccc_faXeHt7Je-uSIanBNs3wWPi7QiOySVEbS4KEmvnHzKOhR24u8JKAgrOzW65YOEJC",
"scope": "openid",
"id_token": "eyJraWQiOiJjM2Q2ZDAxYiIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJ4eTA3NjE5IiwiYXVkIjoib2EiLCJhenAiOiJvYSIsImlzcyI6Imh0dHBzOi8vZXNwLmRvYy54a3cuY24iLCJleHAiOjE3MTA0OTc3MzksImlhdCI6MTcxMDQ5NTkzOX0.OAsr_48-61EkSqFFfL1yet5uHCOCAvJIviAJ6VbFx8SgHffDq6W5RY97efDwYaI3e_8-RW6Pv0hYSPqimpRhkIBam6iXDOxpeKLVMmbKBAs88JGDBGXBZ7pkzwsbzLyiog2iCSDgim2QPRb4260wBAAEAo9nleRQGVGTrGnSlULyretoC6piQzA8LZH-Kvezug7ZSgfu1-sRC8ANyUJiWp4e6ID_kyk1-vIQecLPGncSFs3W9NGR08U58RTEaTo63b9f8qtGl2BrYMY-5xtFmDpjXubwY8OvbBu97JrFW8Ziv-51nxCyFHd-got7Ijiedpg1vKsPru7wOzPUfq6kWQ",
"token_type": "Bearer",
"expires_in": 299
}
b)失败返回示例如下:
{
"error_description": "client_id不正确",
"error_code": "100006",
"error_uri": "https://esp.xkw.cn/doc/error?q=error_code"
}
接口返回access_token有效期为expires_in,单位是秒,调用方要做好token的缓存处理,
xxxxxxxxxx
缓存时间 = expires_in - 60 * 10
缓存时间只要将平台返回的expires_in减去10分钟即可。
注意:不要频繁请求获取access_token,以免被限流控制;