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