获取授权令牌接入说明
功能介绍
本文档旨在说明: 成功获取到auth code之后,调取接口获取accesstoken和refreshtoken的能力
适用场景
支持通过Android、iOS、JS、H5获取code后的token和refresh_token的操作
总体授权说明
网站应用抖音登录是基于OAuth2.0协议标准构建的授权登录系统,详见总体授权说明文档https://open.douyin.com/platform/resource/docs/develop/permission/overall-permission
相关建议
1.clientsecret是应用密钥、accesstoken为用户授权第三方接口调用的凭证,泄漏后可能会发生用户隐私数据泄漏的风险,存储在客户端并不安全,容易被窃取。
2.refreshtoken仅用于刷新accesstoken,泄漏后相当于accesstoken泄漏,风险同上。 建议将clientsecret和access_token放到服务端来进行存储和使用。
准备工作
获取auth code
本文默认您已经完成获取临时票据code的前期工作。具体的对接,详见各个接入文档
渠道 | 链接 |
---|---|
H5 | OpenApi授权接入说明 |
JS | JS授权接入说明 |
iOS | iOS登录开发手册 |
Android | Android登录开发手册 |
操作步骤
步骤一:通过授权码code获取access_token
接口信息:
步骤说明 | 接口名称 |
---|---|
通过授权码code获取access_token | GET /oauth/access_token/ 获取accesstoken |
步骤二:刷新用户授权的access_token或续期
1.当accesstoken过期(过期时间15天)后,可以通过该接口使用refreshtoken(过期时间30天)进行刷新,刷新accesstoken或续期不会改变refreshtoken的有效期。
2.状态说明
状态 | 说明 |
---|---|
access_token已过期 | 调用接口会报错(errorcode=10008或2190008),refreshtoken后会获取一个新的access_token以及新的超时时间。 |
access_token未过期 | refreshtoken不会改变原来的accesstoken,但超时时间会更新,相当于续期。 |
refresh_token过期 | 获取accesstoken会报错(errorcode=10010),此时需要重新走用户授权流程。 |
3.刷新refresh_token一些说明
(1)前提: clientkey需要具备renewrefresh_token这个权限
(2)可以通过未过期的refreshtoken获取新的refreshtoken,调用后旧(未过期的)refreshtoken会失效,新refreshtoken有30天有效期。最多只能获取5次新的refresh_token,5次过后需要用户重新授权
接口信息:
步骤说明 | 接口名称 |
---|---|
刷新access_token | GET /oauth/refresh_token/ 刷新accesstoken |
刷新refresh_token | GET/oauth/renew_refresh_token/ 刷新refresh_token |
FAQ
Q:Token有效期与续期
A:见表格
access_token | refresh_token | 最长续期 |
---|---|---|
15天 | 30天 | 最多只能再获取5次新的refresh_token最长续期:15+30+30*5 = 195 天 |
Q:刷新refreshtoken部分中,已经过期的refreshtoken可以刷新后获取新的refresh_token吗?
A:不可以。只可以用未过期的refreshtoken刷新获取新的refreshtoken。
Q : 已经正确获取到accesstoken,在调用一键发布接口时,提示accesstoken过期
A : item_id是有特殊字符的字符串, 作为url参数时, 必须UrlEncode。