授权概述收藏我的收藏
收藏
我的收藏简介
抖音登录是基于 OAuth2.0 协议标准构建的授权登录系统。
抖音 OAuth2.0 授权登录让用户安全登录接入的第三方应用或网站,在抖音用户授权登录已接入抖音 OAuth2.0 的第三方应用或网站后,第三方可以获取到用户的接口调用凭证(access_token),通过该凭证可以实现获取抖音用户基本开放信息和其他已授权的相关信息等。
抖音 OAuth2.0 授权登录目前支持授权码模式,该模式在用户授权之后会返回一个授权码(code)给第三方应用,该授权码只能使用一次,第三方可通过授权码换取调用凭证。
基本概念
名词 | 描述 | 获取方式 |
client_key(Client Key) | 移动/网站应用的唯一标识。 | 在应用的「总览」页面中获取。 |
client_secret(Client Secret) | 移动/网站应用唯一标识对应的密钥。 | 在应用的「总览」页面中获取。 |
code | 临时调用凭证,在用户完成授权后生成,用于获取 access_token 。 | |
scope | 用户授权的作用域。开放平台几乎每个接口都需要特定的 Scope。 | 在应用的「能力管理」> xx权限 >「查看详情」中获取。 |
access_token | 接口调用凭证,用于需要用户授权才可以调用的接口。 | |
client_token | 接口调用凭证,用于不需要用户授权就可以调用的接口。 | |
refresh_token | 刷新令牌,用来刷新 access_token。 |
凭证
授权中,主要包含以下凭证。
凭证 | 说明 | 有效期 |
code | 临时调用凭证,用于获取 access_token。 | 10 分钟 |
access_token | 接口调用凭证,用于需要用户授权才可以调用的接口。 | 15 天 |
client_token | 接口调用凭证,用于不需要用户授权就可以调用的接口。 | 2 小时 |
refresh_token | 刷新令牌,用于刷新 access_token。 | 30 天 |
授权流程
- 1.抖音用户请求登录移动/网站应用。
- 2.移动/网站应用向抖音开放平台发起抖音用户的授权登录请求。
- 3.抖音开放平台向抖音用户请求授权。
- 4.抖音用户同意抖音开放平台的授权请求。
- 5.抖音开放平台收到抖音用户授权确认后,调起或重定向到移动/网站应用,并且附带授权临时票据(code)。
说明
授权渠道
- 6.移动/网站应用调用抖音开放平台提供的获取 access_token 接口,获取 access_token。
- 7.抖音开放平台通过响应参数将 access_token 返回给移动/网站应用。
用户授权
授权渠道
抖音开放平台目前已经提供 Web、JS、Android 和 iOS 授权以满足不同开发者的需求,开发者可以按照实际需要进行授权的操作。
授权渠道 | 使用场景 | 说明 | 示例 |
Web 授权 | Web 页面在抖音 App 外打开的场景。 | 适用于各类场景。 缺点:需要跳转拼装链接。 | PC端网页展现授权二维码 抖音扫描PC端二维码进行授权 |
JS 授权 | 抖音 App 内部嵌入需要授权的应用,相比 Web 授权方式,无需拼接链接,且原生授权,授权体验更好。 | 支持 iOS 和 Android 抖音 10.4.0 以上版本客户端。 开发者接入 SDK 后,可以在抖音 App 内通过 JSBridge 调用部分抖音客户端的原生能力,唤起半屏模式授权。 | JS 授权以半屏模式进行授权 |
Android 授权 | 适用于 Android 应用场景下的授权。 | 第三方应用分享视频到抖音 App。 移动端的授权方法,适用于 Android 应用唤起抖音授权页面。 展示形式为全屏显示。 | Android/iOS 授权仅包含全屏展示形式。 |
iOS 授权 | 适用于 iOS 应用场景下的授权。 | 第三方应用分享视频到抖音 App。 移动端的授权方法,适用于 iOS 应用唤起抖音授权页面。 展示形式为全屏显示。 |
获取用户权限
根据接口权限不同,开放平台提供三种不同权限下的用户权限的状态样式,您可以根据获取权限点的实际场景,按需申请。
权限状态 | 示例 |
默认勾选,不可取消权限 | |
默认勾选,可取消权限 | |
默认不选,需用户勾选权限 |
说明
用户完成授权后,抖音开放平台获取授权临时票据(code),以便获取 access_token,完成后续的服务。
查看/取消授权
用户可以在「抖音」> 「我」> 「设置(右上角)」> 「帐号与安全」> 「授权管理」中查看或取消对应用的授权,取消授权后原有 access_token 会立即失效。
注意
抖音开放平台会定期对用户授权进行 检查,取消不合规的 access_token 授权。
获取 access_token
用户授权后,即获取到了临时票据(code)后。
- •Client Key 和 Client Secret 在在应用的「总览」页面中获取。
- •code 的获取方式,请参见请参见抖音获取授权码。
access_token 过期和续期
access_token 的有效期为 15 天,refresh_token 的有效期为 30 天。
注意
- •如果用户主动取消授权,会导致 access_token 过期,需要引导重新授权。
- •抖音开放平台会定期对用户授权进行检查,取消不合规的 access_token 授权。
- •如果重复消费 refresh_token,即在同一时间多次调用刷新 refresh_token 接口,会导致 refresh_token 失效。
- •若 access_token 未过期,刷新 refresh_token 不会改变原来的 access_token,但超时时间会更新,相当于续期。最多能再获取 5 次新的 refresh_token,最长续期为 15 + 30 + 30 * 5 = 195 天。
- •若 access_token 已过期,调用 接口会报错(
error_code=10008
或 2190008
)。可以通过刷新 access_token 接口进行刷新。刷新后重新获得一个有效期为 15 天的 access_token,但 refresh_token 的有效期保持不变。- •若 refresh_token 未过期,可以通过刷新 refresh_token 获取新的 refresh_token。
- •若 refresh_token 已过期,获取 access_token 会报错(
error_code=10010
),且不能通过刷新 refresh_token 获取新的 refresh_token。此时需要重新引导用户授权。FAQ
缺少数据经营能力授权?
注意
数据经营能力,用户必须在 PC 端完成授权。
为什么经营能力一定要在 PC 端授权?
A:当前网站应用实际存在 toC 和 toB 两个服务场景,本次调整是为了适应并强化 toB 定位的网站应用的业务关系,避免 C 端用户在无预期或误授权情况下将敏感权限或数据交付给开发者,进而导致用户隐私受损或账号被盗。如有需求通过网站应用申请 C 端用户授权,请按照标准 JS SDK 方式接入后在抖音端内发起授权请求。
抖音获取授权码回调地址不可用,提示非法重定向链接?
Web 授权页显示“redirect_uri 不能为空”“缺少参数”“当前链接不合法,已限制本次授权”?
开发者须提前进入控制台,在应用的设置 > 开发配置 > 授权回调地址页面下填写并保存完整 URL。
如未及时进行调整,上述截止日期后你的网站应用将无法正常获取用户授权票据,进而导致无法继续使用抖音登录和调用相关开放能力接口等问题。