跳转用户授权页面
方法简介
本方法用于跳转到原生授权页面,实现抖音开放平台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/页面进行授权。
诚邀您对本文档易读易用性进行评价
好用
不好用