总体授权说明
功能介绍
本文档旨在满足开发者需要用户登录授权的场景,获取使用抖音短视频登录第三方应用的权限,便于开发者快速完成授权工作。
名词定义
名词 | 描述 |
---|---|
scope | 用户授权的作用域 |
code/auth code | 授权码,临时调用凭证,即临时票据 |
token | 调用令牌,接口调用令牌 |
access_token | 接口调用凭证 |
refresh_token | 刷新令牌,用来刷新 access_token |
open_id | 授权用户在当前应用的唯一标识 |
unionid | 用户统一标识。用户在当前开发者帐号下的唯一标识(未绑定开发者帐号没有该字段) |
客户端授权 | Android或者ios app通过集成抖音授权sdk 吊起抖音授权登录页面,形式均为全屏形式 |
JSB全屏 | 抖音端内h5页面使用抖音授权登录,需集成js sdk,吊起抖音授权登录页面,仅展示形式不同,样式详见“应用场景” |
JSB半屏 | 抖音端内h5页面使用抖音授权登录,需集成js sdk,吊起抖音授权登录页面,仅展示形式不同,样式详见“应用场景” |
授权说明
抖音登录是基于OAuth2.0协议标准构建的授权登录系统。
抖音OAuth2.0授权登录让用户安全登陆接入的第三方应用或网站,在抖音用户授权登录已接入抖音OAuth2.0的第三方应用或网站后,第三方可以获取到用户的接口调用凭证(access_token),通过该凭证可以实现获取抖音用户基本开放信息和其他已授权的相关信息等。
抖音OAuth2.0授权登录目前支持授权码模式,该模式在用户授权之后会返回一个授权码(code)给第三方应用,该授权码只能使用一次,第三方可通过授权码换取调用凭证。
授权流程图

调用流程
1. 第三方发起抖音授权登录请求,抖音用户允许授权第三方应用后(扫码确认或账号密码授权登录),确认通过后,会重定向到第三方网站(回调接口)。并且附带授权临时票据(code)
说明:抖音开放平台现已开放WEB、Android、iOS和JS四种渠道的授权方式能力,您可以根据需要自行选择符合您需求的授权方法四种方式的区别详见“应用场景”,四种接入方式,详见各渠道接入说明
2. 第三方通过code参数,以及ClientKey和ClientSecret等参数,通过API换取access_token
详细操作方法见下方:授权令牌接入说明
3. 通过access_token进行接口调用,获取用户基本信息及其他操作等。可以根据您的需求,选择OpenAPi的接口接入。
详细对接方法见文档:行业接入方案和OpenAPI接口说明
调用流程说明:

抖音开放平台目前已经提供WEB、JS、Android和iOS授权以满足不同开发者的需求,开发者可以按照实际需要进行授权的操作。
授权渠道 | 授权说明 | 适用场景 |
---|---|---|
WEB授权 | Web页面在抖音APP外打开的场景 | 适用于各类场景 缺点:需要跳转拼装链接 |
样式:
一、PC端
1.二维码扫码登录

2.二维码扫码授权

二、APP端授权登录
授权渠道 | 授权说明 | 适用场景 |
---|---|---|
JS授权 | 抖音开放平台JSSDK,适用于开发者Web页面在抖音APP内Webview容器里打开时的场景,支持iOS和Android抖音10.4以上版本客户端。开发者接入SDK后,可以在抖音APP内通过JSBridge,调用部分抖音客户端的原生能力,展示形式为全屏、半屏两种显示形式。 | 适用场景:抖音内部嵌入需要授权的应用,相比WEB授权方式,无需拼接链接,且原生授权,授权体验更好。 |
全屏:

半屏:

授权渠道 | 授权说明 | 适用场景 |
---|---|---|
Android授权 | 第三方APP分享视频到抖音APP。 移动端的授权方法,适用于Android应用唤起抖音授权页面。展示形式为全屏显示。 | 适用场景:适用于Android应用场景下的授权。 |

授权渠道 | 授权说明 | 适用场景 |
---|---|---|
iOS授权 | 第三方APP分享视频到抖音APP 移动端的授权方法,适用于iOS应用唤起抖音授权页面。展示形式为全屏显示 | 适用场景:适用于iOS应用场景下的授权 |

授权渠道 | 授权说明 | 适用场景 |
---|---|---|
头条/西瓜授权 | 应用于需要头条/西瓜用户授权的接口对接和无需授权的接口对接的对接的操作,便于开发者快速完成授权工作。 | 适用场景:适用于头条/西瓜的应用授权。 |

**说明:**小程序授权,请参考https://microapp.bytedance.com/dev/cn/mini-app/develop/api/other/user-authorization
获取用户权限说明
根据接口权限不同,开放平台提供三种不同权限下的用户权限的状态样式,您可以根据获取权限点的实际场景,按需申请。
状态说明
状态说明 | 样式 |
---|---|
默认勾选,不可取消权限(必选,不可取消) | ![]() |
默认勾选,可取消权限 (必选,可取消) | ![]() |
默认不选,需用户勾选权限 | ![]() |
资源下载
见目录,授权部分
授权令牌接入说明
详见: https://open.douyin.com/platform/resource/docs/develop/permission/get-permission-token
FAQ
1.用户查看/取消授权的位置在哪里?
答:抖音-我-设置(右上角)-帐号与安全-授权管理

2.Token有效期与续期
access_token | refresh_token | 最长续期 |
---|---|---|
15天 | 30天 | 最多只能再获取5次新的refresh_token 最长续期:15+30+30*5 = 195 天 |
注意:头条/西瓜授权,没有刷新refresh_token功能,最长时间为15+30=45天