WebApp快捷打包
阿里云号码认证服务

敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多

JS-SDK,下载最新版 jsBridge-v20210917.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库。

♦ 1. 阿里云 号码认证服务,整合三大运营商实现无感知注册、登录或安全校验;

♦ 2. 接入步骤:

♦ 2.1 在阿里云控制台 添加认证方案,获取秘钥;

♦ 2.2 调用 setAuthSDKInfo 接口设置秘钥;

♦ 2.3 调用 checkAuthEnvEnable 接口检查当前设备是否支持号码认证,如果支持则进入下一步;

♦ 2.4 调用 getLoginToken 接口拉起授权页面,用户同意授权后返回 token;

♦ 2.5 将 token 提交到您的服务器,以 token 做为参数调用阿里云服务器端接口 GetMobile 获取手机号码;

setAuthSDKInfo 设置秘钥

请从阿里云复制秘钥并粘贴于此处:

var key = $("#key").val();
if (key) {
  jsBridge.pns.setAuthSDKInfo({
    //必须,字符串类型,秘钥(在阿里云创建号码认证方案后获取)
    key: key
  }, function(succ, data) {
    alert(succ ? "已设置" : "失败\n" + data.errorMessage);
  });
} else {
  alert("请从阿里云复制秘钥并粘贴于此处");
  $("#key").focus();
}

checkAuthEnvEnable 检查终端是否⽀持号码认证

jsBridge.pns.checkAuthEnvEnable(function(succ, data) {
  alert(succ ? "支持" : "不支持\n" + data.errorMessage);
});

getLoginToken 拉起⼀键登录授权⻚⾯

//拉起⼀键登录授权⻚⾯,回调函数中返回 token
//请将此 token 提交到您的服务器,调用阿里云服务器端 GetMobile 接口获取此设备的手机号码
jsBridge.pns.getLoginToken({
  //必须,字符串类型,标题栏
  titleText: "登录悠悠淘",
  //必须,字符串类型,登录按钮文字
  loginButtonText: "一键登录",
  //可选,布尔类型,是否显示LOGO徽标
  showLogo: false,
  //可选,数字类型,超时时间(秒)
  timeout: 10,
  //可选,字符串类型,口号语
  sloganText: "使用本机号码一键登录",
  //可选,布尔类型,是否隐藏隐私条款复选框,默认false(不隐藏)
  privacyHideCheckbox: false,
  //可选,字符串类型,隐私条款前置自定义文案
  privacyPrefixText: "我已阅读并同意",
  //可选,字符串类型,运营商协议前缀符号,只能是 <、(、《、【、『、[、(中的一个
  privacyVendorPrefix: "《",
  //可选,字符串类型,运营商协议后缀符号,只能是 >、)、》、】、』、]、)中的一个
  privacyVendorSuffix: "》",
  //可选,字符串类型,隐私条款名称1
  privacy1Text: "《用户协议》",
  //可选,字符串类型,隐私条款链接1
  privacy1Url : "https://terms.alicdn.com/legal-agreement/terms/TD/TD201609301342_19559.html",
  //可选,字符串类型,隐私条款名称2
  privacy2Text: "《隐私政策》",
  //可选,字符串类型,隐私条款链接2
  privacy2Url : "https://terms.alicdn.com/legal-agreement/terms/suit_bu1_taobao/suit_bu1_taobao201703241622_61002.html",
  //可选,字符串类型,隐私条款名称3
  privacy3Text: "",
  //可选,字符串类型,隐私条款链接3
  privacy3Url : "",
  //可选,字符串类型,隐私条款尾部自定义文案
  privacySuffixText: ""
}, function(succ, data) {
  if (succ) {
    //请用此 token 调用阿里云服务器端 GetMobile 接口获取手机号码
    jsBridge.setClipboardText(data.token);
    alert("授权成功 token:\n" + data.token);
  } else {
    alert("授权失败:\n" + data.errorMessage)
  }
});

getLoginToken 示例 2

jsBridge.pns.getLoginToken({
  titleText : "绑定手机号码",
  sloganText: "使用本机号码一键绑定",
  loginButtonText: "一键绑定",
  showLogo: true,
  privacyHideCheckbox: true,
  privacyPrefixText  : "绑定手机号即表示已阅读并同意"
}, function(succ, data) {
  if (succ) {
    //jsBridge.setClipboardText(data.token);
    alert("授权成功 token:\n" + data.token);
  } else {
    alert("授权失败:\n" + data.errorMessage)
  }
});

一般接入流程

//1.设置秘钥
jsBridge.pns.setAuthSDKInfo({
    key: "ihyIVvMVYrlgv1IY5fWplGHlJVtQ2G8UfTARSrOLiTFfvtl9BDzq2Esw2C2rMLKAKVO7UzNg5FfKLkmK2XfZqm3brRsTEcYktJs+2QY2r3+oCuTGUXN6eqNFXlAd1FiqjyzBjBkVz5qUe9sYreMRbL29vQgaNytx3xS+kaSNeQuj7zzCiABsogvB3qyMIXOQ+o2dVBNaufHW5hiwBG/H9Njs576zyO4CRYK90HCAAeuMvH+hcsgOvY9Ku9JfobMISPdBcTor7789J6O26m5PoyzmdOLDeJb4lBEeXjvGrE9H24d7j6tljg=="
}, function (succ, data) {
    if (succ) {
        //2.检查设备是否支持获取本机号码
        jsBridge.pns.checkAuthEnvEnable(function (succ, data) {
            if (succ) {
                //3.拉起授权页面
                jsBridge.pns.getLoginToken({
                    titleText : "登录悠悠淘",
                    sloganText: "使用本机号码一键登录",
                    loginButtonText: "一键登录",
                    privacyHideCheckbox: true,
                    privacyPrefixText  : "登录即表示已阅读并同意",
                    privacyVendorPrefix: "《",
                    privacyVendorSuffix: "》",
                    privacy1Text: "《用户协议》",
                    privacy1Url : "https://terms.alicdn.com/legal-agreement/terms/TD/TD201609301342_19559.html",
                    privacy2Text: "《隐私政策》",
                    privacy2Url : "https://terms.alicdn.com/legal-agreement/terms/suit_bu1_taobao/suit_bu1_taobao201703241622_61002.html",
                }, function (succ, data) {
                    if (succ) {
                        //授权成功,将 token 提交到服务器,调用阿里云接口获取手机号码
                        //GetMobile 接口文档 https://help.aliyun.com/document_detail/189865.html
                        //$.post("https://xxxx", { token: data.token }, function (result) { });
                        //jsBridge.setClipboardText(data.token);
                        alert("授权成功 token:\n" + data.token);
                    } else {
                        alert("授权获取本机号码失败:\n" + data.errorMessage)
                    }
                });
            } else {
                alert("此设备不支持获取本机号码\n" + data.errorMessage);
            }
        });
    } else {
        alert("设置秘钥失败\n" + data.errorMessage);
    }
});