跳转用户授权页面

方法简介

本方法用于跳转到原生授权页面,实现抖音开放平台OAuth登录和授权功能。

版本要求

**抖音:**10.4+ **JSSDK:**1.0.3+

抖音版本差异

openConfig 验签上线抖音版本为10.4.0, 如果在调用jumpOpenAuth方法之前验签的话,请先判断抖音版本号。

附:判断抖音版本号代码:

const APP_VERSION_REGX = {
  android: new RegExp('app_version/', 'i'),
  ios: new RegExp('aweme_', 'i'),
};
const ua = navigator.userAgent;
const os = /(Android);?\s+([\d.]+)?/i.test(ua) ? 'android' : 'ios';
const version = parseFloat(ua.split(APP_VERSION_REGX[os])[1]);

调用方法

const sdk = window.douyin_open;

sdk.jumpOpenAuth({
  params: {
    client_key: clientKey, // clientKey在你的网页应用申请通过后得到
    state: '', // 自定义状态,详见下方说明
    scope: 'user_info,im.share', // 需要授权的scope列表, 多个用英文逗号分隔
    response_type: 'code' // 默认填‘code’,详见下方说明
  },
  success: ({ ticket }) => {
 // ticket: Oauth凭据,详见下方说明
  },
  error: res => {}
});

问题排查

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

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

返回格式为:

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: 成功

code:0  失败

code:-2 手动取消

当code 为0时,errorCode字段会给应用返回相关错误码,错误码信息请见:

https://open.douyin.com/platform/resource/docs/develop/common-tools/status-code

说明

此JSBridge功能与OAuth用户授权登录能力相同。详细参数说明请参考OAuth2.0授权文档 中的/platform/oauth/connect/获取授权码(code)部分。

在支持该JSBridge功能的环境下,开发者Web页面可直接通过调用该方法打开抖音客户端授权页面;如使用不支持版本的抖音和JSSDK,需要使用原方法,跳转到 https://open.douyin.com/platform/oauth/connect/页面进行授权。

诚邀您对本文档易读易用性进行评价
好用
不好用