唤起用户授权页面

方法简介

本方法用于唤起半屏原生授权界面,实现抖音开放平台OAuth登录和授权功能。

版本要求

**抖音:**10.8+   **JSSDK:**1.0.3+

抖音版本差异

openConfig 验签上线抖音版本为10.4.0, showOpenAuth上线时间为10.8.0,低版本抖音是无法吊起半屏授权的,所以请先判断抖音版本号,在符合要求的版本上面再使用该功能。

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

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.showOpenAuth({   
    params: {
        client_key: clientKey, // clientKey在你的网页应用申请通过后得到
        state: '', // 自定义状态,详见下方说明
        scopes: {
            user_info: 0, // 0: 必选;1: 可选,默认不选中; 2: 可选,默认选中     
        },
        response_type: 'code' // 默认填‘code’,详见下方说明
    },
    success: ({ ticket, grant_permissions }) => {
        // ticket: Oauth凭据,详见下方说明
        // grant_permissions: String类型,用户授权的所有scope,以“,”拼接,例:user_info,mobile
    },
    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用户授权登录能力相同。详细参数说明请参考OAuth授权文档中的/pl atform/oauth/connect/获取授权码(code)部分。

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

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