帖子
帖子
用户
博客
课程
1234下一页
返回列表 发新帖
显示全部楼层
2
帖子
0
勋章
30
Y币

[插件开发] [ 模块教程 ] aliPhoneAuth(阿里云号码认证服务)demo分享

[复制链接]
发表于 2019-12-30 11:53:53
本帖最后由 microtown 于 2021-9-16 17:22 编辑

aliPhoneAuth 封装了阿里云号码认证SDK。本模块提供了一键登录功能,可快速拉起阿里云的一键登录并获取token。 号码认证服务整合三大运营商特有的数据网关认证能力,升级短信验证码体验,应用于用户注册、登陆、安全校验等场景,可实现用户无感知校验,操作更安全、便捷、低时延。


模块文档地址


功能介绍:
1. 快速接入阿里云一键登录功能。
2. 可自定义一键登录页面的样式。
3. 可根据自己的场景,分别调用阿里云SDK的某些接口。

模块代码片段
1.  使用前先去阿里云开通号码认证服务,添加认证方案,android及iOS是两种方案,添加后方案后,分别将密钥配置到config.xml文件中。参考模块文档说明。
2.  一键登录调用如下:
  1. <!doctype html>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8">
  5.     <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
  6.     <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
  7.     <title>Hello APP</title>
  8.     <link rel="stylesheet" type="text/css" href="./css/api.css" />
  9.     <style>
  10.     input,textarea{border:1px solid #ccc;margin: 5px;padding:5px;border-radius:3px;}
  11.     </style>
  12. </head>
  13. <body><br/><br/>
  14.     <div style="margin:10px;">
  15.         <input type="button" value="阿里云一键登录" onclick="onAliLogoClick()"/><br/>
  16.         <textarea id='resultTxt' style="width:90%;height:850px;">结果:</textarea>
  17.     </div>
  18. </body>
  19. <script type="text/javascript" src="./script/api.js"></script>
  20. <script type="text/javascript">
  21.     apiready = function(){

  22.     };

  23.     function onAliLogoClick(){
  24.         var systemType=api.systemType;
  25.         if('ios'==systemType){
  26.             iOSClike();
  27.         }else if('android'==systemType){
  28.             androidClick();
  29.         }
  30.     }

  31.     //android调起一键登录
  32.     function androidClick(){
  33.         try{
  34.             var aliPhoneAuth = api.require('aliPhoneAuth');

  35.             var params={
  36.                 timeout: 5000,
  37.                 navHidden: "true",
  38.                 logBtnTextColor: "#ffffff",
  39.                 privacyColor: "#e75555",
  40.                 switchAccText: "其他登录方式",
  41.                 logoImage: "widget/icon/icon150x150.png",
  42.                 //logBtnBackgroundImage: "widget/image/refresh.png",
  43.                 privacyOne: ["《用户协议》", "https://www.apicloud.com/"],
  44.                 privacyTwo: ["《隐私政策》", "https://www.apicloud.com/"],
  45.                 privacyTip: "请阅读并同意协议"
  46.             }
  47.             aliPhoneAuth.oneKeyLogin(params, function(ret, err){
  48.                 outputResult(JSON.stringify(ret));
  49.                         if(ret.code=='600000'){//获取token成功
  50.                     //调用服务器业务...
  51.                     var token = ret.token;

  52.                     aliPhoneAuth.quitLoginPage();//关闭一键登录页面
  53.                         }else if(ret.code=='700000'){//点击返回,用户取消授权

  54.                 }else if(ret.code=='700001'){//点击切换按钮,用户取消授权
  55.                    // aliPhoneAuth.quitLoginPage();
  56.                 }else{ //其他授权失败
  57.                    // aliPhoneAuth.quitLoginPage();
  58.                 }
  59.                 });

  60.         }catch(err){
  61.             alert(err);
  62.         }
  63.     }

  64.     //iOS调起一键登录
  65.     function iOSClike(){
  66.         var aliPhoneAuth = api.require('aliPhoneAuth');
  67.         var params={
  68.             timeout: 5.0,
  69.             autoHideLoginLoading: 0,
  70.             privacyOne: ["《用户协议》", "https://www.apicloud.com/"],
  71.             privacyTwo: ["《隐私政策》", "https://www.apicloud.com/"]
  72.         }

  73.         aliPhoneAuth.oneKeyLogin(params, function(ret, err) {
  74.             outputResult(JSON.stringify(ret));

  75.             if (err || !ret) { //错误
  76.                 return;
  77.             }

  78.             if (ret.resultCode == "600000") { //认证通过
  79.                 aliPhoneAuth.cancelLoginVCAnimated();

  80.                 var token = ret.token;

  81.                 //拿token去服务器换取手机号并且登录上
  82.             } else if (ret.resultCode == "700001") { //点击了其他登录方式
  83.                 aliPhoneAuth.cancelLoginVCAnimated();
  84.             }
  85.         });
  86.     }

  87.     function outputResult(msg){
  88.         document.getElementById("resultTxt").value += msg+"\r\n\r\n";
  89.     }
  90. </script>
  91. </html>
复制代码


模块截图
              

模块截图

模块截图

aliPhoneAuth_测试材料包.zip 下载附件
2021-9-16 17:19上传5.52 MB下载次数: 2195
22
帖子
1
勋章
1万+
Y币
不错 收藏
购买了,demo代码可用,文档上ret似乎不全。同时发现onekeylogin函数未定义,另外有没有直接可以取到手机号的函数?还是说需要自己在服务端另做一个函数接受token再取?
购买了,但是onekeylogin未定义。另外获取token后是否要自己再在服务端定义函数获取用户手机号?
2
帖子
0
勋章
30
Y币
瘦鱼全民讲座 发表于 2020-2-2 16:31
购买了,但是onekeylogin未定义。另外获取token后是否要自己再在服务端定义函数获取用户手机号? ...

oneKeyLogin只在ios端有效,使用方法请参考demo。
获取token后要到自己的服务器端获取手机号。
0
帖子
0
勋章
8
Y币
这个不支持自己写的 h5 页面么,! 只能 修改原生页面的内容是么
2
帖子
0
勋章
30
Y币
无为书生 发表于 2020-3-4 09:57
这个不支持自己写的 h5 页面么,! 只能 修改原生页面的内容是么

是的,不支持自定义h5页面,只能修改原生页面的样式。
43
帖子
0
勋章
8352
Y币
microtown 发表于 2020-3-4 14:46
是的,不支持自定义h5页面,只能修改原生页面的样式。

这个怎么后台解析token,获取电话号码呀,能有后台案例看一下嘛!
5
帖子
0
勋章
23
Y币
你好 这个 logo 能替换为自己的吗
5
帖子
0
勋章
23
Y币
大佬你好  我想用这个模块吗 方便留下联系方式 有很多问题不是太明白
1234下一页
您需要登录后才可以回帖 登录

本版积分规则