抖音开放平台Logo
控制台

获取授权令牌

更新时间 2024-07-24 02:58:49
收藏
我的收藏

本文介绍在成功获取到 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

抖音帐号 OAuth 2.0 授权

JS

JS 授权

iOS

iOS 授权登录

Android

Android 授权登录

操作步骤

第一步:通过授权码 code 获取 access_token

  1. 完成授权操作后,在拼接页面内查询授权码(code)。
  1. 通过授权码 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。