H5页面Demo体验

如果您的项目是一个HTML5网站,期望能够实现“一键登录”功能帮助客户简化注册、登录步骤及提升转化率,可参考本文了解如何在H5页面中集成号码认证功能。

步骤一:下载SDK

登录号码认证产品控制台,在概览页面右侧API&SDK区域,单击立即下载,进入API&SDK页面,根据页面提示下载并解压对应SDK。

步骤二:创建认证方案

登录号码认证服务控制台,新增号码认证方案,具体请参见创建认证方案

说明
  • H5接入端地址格式要求如下:

    • 页面地址格式为协议+//+域名+/,如:https://www.aliyun.com/(注意:后面有一个斜杠/)。

    • 源地址格式为协议+//+域名,如:https: //www.aliyun.com

  • 接入端为H5时,因运营商管控要求,中国移动方向的号码认证能力,需要创建方案后的第2个工作日才可以发起调用。具体生效时间以运营商审核通过为准。

一键登录示例

请扫描下方二维码,体验在H5页面中实现一键登录功能。

image..png

更多SDK接入详情,请参见H5一键登录客户端接入。下方为示例代码。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>一键登录</title>
    <script src="./js/numberAuth-web-sdk.2.0.5.js"></script>
  </head>

  <body>
    <div class="number-auth-demo">
      <h3 class="title">一键登录</h3>
      <a id="J_loginPhone" class="submit-btn">点击按钮一键登录</a>
    </div>
  </body>
  <script>
    window.onload = function () {
      var loginPhoneEle = document.getElementById("J_loginPhone");
      var phoneNumberServer = new window.PhoneNumberServer();

      function getToken() {
        phoneNumberServer.getLoginToken({
          // 成功回调
          success: function (res) {
            // 一键登录: 可发请求到服务端调用 GetPhoneWithToken API, 获取用户手机号, 完成登录
          },
          // 失败回调
          error: function (res) {},
          // 授权页状态监听函数
          watch: function (status, data) {},
          // 配置选项
          authPageOption: {
            navText: "一键登录",
            subtitle: "", // 副标题
            btnText: "立即登录",
            agreeSymbol: "、",
            showCustomView: true,
            customView: {
              element:
                '<div class="btn_box other" onclick="clickEvent()">切换其他登录方式</div>',
              style: ".btn_box.other{background: #fff; color: #f00}",
              js: "function clickEvent(){alert(666666)}",
            },
            privacyBefore: "我已阅读并同意",
            isDialog: true, // 是否是弹窗样式
            manualClose: true, // 是否手动关闭弹窗/授权页
          },
        });
      }

      function checkLogin(jwtToken, accessToken) {
        phoneNumberServer.checkLoginAvailable({
          accessToken: accessToken,
          jwtToken: jwtToken,
          success: function (res) {
            console.log("身份鉴权成功, 可唤起登录界面", res);
            getToken();
          },

          error: function (res) {
            console.log("身份鉴权失败", res);
          },
        });
      }

      loginPhoneEle.onclick = function () {
        // 调用之前先去用户服务端获取AccessToken和jwtToken
        var tokenInfo = {
          JwtToken: "OhT****************dw",
          AccessToken: "qaxz*******************0qazx",
        };

        checkLogin(tokenInfo.JwtToken, tokenInfo.AccessToken);
      };
    };
  </script>
</html>

本机号码校验示例

请扫描下方二维码,体验在H5页面中实现本机号码校验功能。image..png

更多SDK接入详情,请参见H5本机号码检验客户端接入。下方为示例代码。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>本机号码校验</title>
    <script src="./js/numberAuth-web-sdk.2.0.5.js"></script>
  </head>

  <body>
    <div class="number-auth-demo">
      <h3 class="title">本机号码校验</h3>
      <a id="J_verifyPhone">认证</a>
    </div>
  </body>
  <script>
    window.onload = function () {
      var verifyPhoneEle = document.getElementById("J_verifyPhone");
      var phoneNumberServer = new window.PhoneNumberServer();

      function getAuthToken() {
        phoneNumberServer.getVerifyToken({
          // 成功回调
          success: function (res) {
            console.log("获取本机号码校验token成功", res);
            // 本机号码校验. 可带上返回的spToken,用户输入的手机号,请求服务端,服务端调用VerifyPhoneWithToken API 进行本机号码校验;
          },
          // 失败回调
          error: function (res) {
            console.log("获取本机号码校验token失败", res);
          },
        });
      }

      function checkAuth(jwtToken, accessToken) {
        phoneNumberServer.checkAuthAvailable({
          accessToken: accessToken,
          jwtToken: jwtToken,
          success: function (res) {
            console.log("鉴权成功", res);
            getAuthToken();
          },
          error: function (res) {
            console.log("鉴权失败", res);
          },
        });
      }
      verifyPhoneEle.onclick = function () {
        // 调用之前先去用户服务端获取AccessToken和jwtToken
        var tokenInfo = {
          JwtToken: "eyUIr***********************g7w",
          AccessToken: "iBDdh********************1cQ==",
        };

        checkAuth(tokenInfo.JwtToken, tokenInfo.AccessToken);
      };
    };
  </script>
</html>