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