抖音开放平台Logo
开发者文档
控制台
  • 移动应用
  • 网站应用
  • JS概述
  • Web 抖音登录和授权
  • JS 抖音授权
  • JS 抖音授权
  • JS 接入指南
  • 验证签名
  • JS 代码示例下载
  • JS Bridge 能力
  • H5 发布
  • JS 抖音授权
    收藏
    我的收藏

    适用场景

    本能力适用于开发者 Web 页面在抖音应用内 Webview 容器里打开时的场景,通过 JSSDK 使用抖音登录授权,用户授权后,才能调用相应的权限接口,例如:视频权限、用户权限等,支持 iOS 和 Android 抖音应用 10.4.0 以上版本客户端。
    开发者接入 JSSDK 后,可以在抖音应用内通过 JS Bridge 调用部分抖音客户端的原生能力。
    JSSDK 并不适用于 Web 页面在抖音应用外打开的场景,如:
      在系统浏览器里打开抖音。
      在系统浏览器里上传视频到抖音。
      在第三方应用分享视频到抖音应用等。
    如有此类场景需求,可以参考接入 OpenAPI 或者 iOS、Android 客户端 SDK。

    背景信息

    总体授权说明

    第三方使用抖音短视频授权是基于 OAuth2.0 协议标准。抖音短视频授权采用 OAuth2.0 的授权码 (authorization code) 方式,首先需要获取一个临时票据,再用该临时票据获取令牌(access_token),然后通过该令牌获取用户信息。详见授权概述

    JS 授权流程

    JS 授权包含两个主要流程:
      1.验证签名:
      2.验证成功后,在 Ready 事件的回调内,调用 JSB 方法。以打开半屏授权弹窗为例:

    授权页面样式说明

    以半屏浮窗形式唤起用户授权页面

    准备工作

    在使用 JS 授权接入时必须进行安全域名设置和签名验证,为保证开发者的应用安全,需要开发者拥有保存临时凭据的后端服务。

    操作步骤

      1.JS 接入及能力获取。详情请参见 JS 接入指南
      2.验证签名及方法说明。详情请参见签名验证
      3.授权方式接入。详情请参见唤起用户授权页面
    注意:
      client_secret 是应用密钥,泄漏后可能会发生用户隐私数据泄漏的风险,不可以暴露在客户端代码或者前端 Web 代码中,容易被窃取。
      access_token 为用户授权第三方接口调用的凭证,存储在客户端代码或者前端 Web 代码中可能会被窃取,风险同上。
      refresh_token 仅用于刷新 access_token,泄漏后相当于 access_token 泄漏,风险同上。 建议将 clientsecret 和 access_token 放到服务端来进行存储和使用。
      抖音版本差异说明。
      openConfig 验签上线抖音版本为 10.4.0。
      showOpenAuth 上线时间抖音版本为10.8.0,
    低版本抖音是无法唤起半屏授权的,所以请先判断抖音版本号,在符合要求的版本上面再使用该功能。抖音应用 12.0.0 之后,半屏授权为稳定版本,可以使用 12.0.0 之后的半屏授权。

    错误码

    FAQ

    唤醒原生授权页面返回 10006 错误码

    非法重定向 URI。授权回调 URL 参数应与网站应用配置中的“授权回调域”一致。

    利用返回给应用的错误信息说明

    一般 showOpenAuth 调用不成功时,会有错误码返回给应用,告诉应用的错误原因。

    host 不合法

    检查应用的 JSB 安全域名是否跟调起 JSB 的网站域名一致。
      iOS 返回数据格式:
    { "code": -2, "msg": "Error Domain=AWEOpenPlatformErrorDomain Code=-2 \"(null)\"", "res": { "code": 0, "errorMsg": "Error Domain=AWEOpenPlatformErrorDomain Code=-2 \"(null)\"", "errorCode": -2, "respJsTime": "1593694298166" } }
      安卓返回数据格式:
    { "code": -2, "msg": "用户取消", "res": { "code": 0, "errorCode": -2, "errorMsg": "用户取消" } }
    code 说明:
      1:成功
      0:失败
      -2:用户取消授权
    当 code 为 0 时,errorCode 字段会给应用返回相关错误码,错误码信息请见状态码排查工具