WEB授权接入说明

功能介绍

本文档旨在说明: 需要抖音用户授权的接口对接、无需授权的接口对接和静默授权的对接的操作,便于开发者快速完成授权工作

适用场景

内容适用场景
授权需要用户授权后方可调用的接口,例如:视频、用户等
无需授权无需用户授权便可使用的接口,例如:生成share_id 等
静默授权在用户无感知的状态下即可获取当前应用的授权。用于在抖音端内相关生态应用操作。例如:用户A授权B应用,B应用的抖音小程序通过静默授权可获得用户A的抖音小程序授权

接口明细

阶段步骤说明接口名称
授权步骤一通过用户授权获取授权码codeGET /platform/oauth/connect/  获取授权码(code)
授权步骤二
client_key、clientSecret和通过上一步的code 换取token
GET /oauth/access_token/ 获取access_token
授权步骤三
刷新access_token
GET  /oauth/refresh_token/ 刷新access_token
授权步骤四刷新refresh_token
GET /oauth/renew_refresh_token/ 刷新refresh_token
无授权生成client_tokenGET /oauth/client_token/  生成client_token
静默授权获取授权码(code)GET /oauth/authorize/v2/  获取授权码(code)

总体授权说明

网站应用抖音登录是基于OAuth2.0协议标准构建的授权登录系统,目前提供扫码登录和账号密码授权登录两种方式。

详见:总体授权说明 

相关建议

  1. client_secret是应用密钥、access_token为用户授权第三方接口调用的凭证,泄漏后可能会发生用户隐私数据泄漏的风险,存储在客户端并不安全,容易被窃取。

  2. refresh_token仅用于刷新access_token,泄漏后相当于access_token泄漏,风险同上。 建议将client_secret和access_token放到服务端来进行存储和使用。

准备工作

1.应用创建

在使用抖音OAuth2.0授权接入之前,您需要成功创建一个应用并通过开放平台审核,详细操作流程见:开放平台新手指南

2.ClientKey、ClientSecret查询位置

首页-管理中心-应用管理-数据

操作步骤

步骤一:通过URL展示给用户授权,获取授权码

操作方法:

步骤说明接口名称
通过用户授权获取授权码codeGET /platform/oauth/connect/  获取授权码(code)

说明:注意该URL的作用为展示扫码

步骤二:引导用户授权

用户授权支持PC端和客户端,授权形式支持二维码登录授权和手机号验证码两种形式。

1.二维码授权——PC端

用户需用抖音app打开首页搜索-扫一扫,扫描PC端的二维码进行登录操作。

1.1二维码登录

1.2二维码授权

2.账号验证码授权——PC端

3.账号验证码授权——客户端

说明:用户授权操作完成后,回退上一步页面(即授权操作前停留页面)

步骤三:获取授权码,通过授权码code获取access_token

1.用户完成授权操作后,授权码(code)可以在拼接页面内查询

2.通过code换token接口信息:

步骤说明接口名称
通过授权码code获取access_tokenGET /oauth/access_token/ 获取access_token

步骤四:刷新用户授权的access_token或续期

1.当access_token过期(过期时间15天)后,可以通过该接口使用refresh_token(过期时间30天)进行刷新,刷新access_token或续期不会改变refresh_token的有效期。

2.状态说明

状态说明
access_token已过期1. 调用接口会报错(error_code=10008或2190008),refresh_token后会获取一个新的access_token以及新的超时时间。
access_token未过期1. refresh_token不会改变原来的access_token,但超时时间会更新,相当于续期。
1. refresh_token过期1. 获取access_token会报错(error_code=10010),此时需要重新走用户授权流程

3.刷新refresh_token一些说明

(1)前提: client_key需要具备renew_refresh_token这个权限

(2)可以通过旧的refresh_token获取新的refresh_token,调用后旧refresh_token会失效,新refresh_token有30天有效期。最多只能获取5次新的refresh_token,5次过后需要用户重新授权

接口信息:

步骤说明接口名称
刷新access_tokenGET /oauth/refresh_token/ 刷新access_token
刷新refresh_tokenGET /oauth/renew_refresh_token/ 刷新refresh_token

无需授权说明

功能介绍

client_access_token用于不需要用户授权就可以调用的接口,如生成share-id

client_access_token的有效时间为2个小时,重复获取token后会使上次的token失效(但有5分钟的缓冲时间)。

注意事项

不要在任何情况下将client access token下发给客户端。原因:

• client_access_token: 操作的是APP的数据,如设置APP需要监听的事件

• user_access_token:操作的是用户的数据

所有的请求都应该收敛在服务端,第三方服务端与平台交互获取数据后,将结果下发给客户端。

操作步骤

步骤说明接口名称
生成client_tokenGET /oauth/client_token/ 生成client_token

静默授权

功能说明

可以在用户无感知的情况下,获取用户在当前应用的open_id。

注意事项

1.这个接口需要在抖音端内可以打开的h5页面调用才有效

2.请求域名为https://aweme.snssdk.com/,请求的域名跟其他接口不同

3.如果ClientKey具备login_id这个scope,请求成功后,会重定向到redirect_uri,并且带上code

4.code与用户授权换取的一样,用来调用https://open.douyin.com/oauth/access_token/ 换取用户open_id

操作步骤

步骤说明接口名称
获取授权码(code)GET /oauth/authorize/v2/ 获取授权码(code)

错误码

详见:状态码

FAQ

1.Token有效期与续期

access_tokenrefresh_token最长续期
15天30天最多只能再获取5次新的refresh_token 最长续期:15+30+30*5 = 195 天
诚邀您对本文档易读易用性进行评价
好用
不好用