概述

您需要在APP中集成闪验的SDK,并在服务端完成API对接。全流程主要分为四个步骤:
第一步,初始化;
第二步,预取号;
第三步,拉取授权页;
第四步,一键登录;
第五步,置换号码(如下图);
image.png

1.SDK初始化(签名验证)

1.1  用户打开APP
用户打开APP启动SDK初始化程序

1.2  本地初始化
获取SIM卡中的运营商标示,并根据标示预备展示该运营商授权页。

1.3  获取账号并验签
获取闪验后台中APP应用的签名账号,并验证。

1.4  初始化成功
本地初始化完成后SDK将会于运营商建立互通并建立验证通道。

2.预取号(加快授权页拉取)

2.1  发起预取号
在判断用户未登录的情况下,在步骤一初始化完成后便可以在APP后台无感执行预取号方法(已登录的用户不必执行此步骤)

2.2  建立临时验证令牌
通过SIM卡访问运营商蜂窝移动网,SDK与运营商建立数据交换并获取临时令牌(用于步骤三中快速拉取授权页)

2.3  预取号成功
成功获取到临时令牌;三大运营商临时令牌有效期如下
移动——48小时;
联通——1小时;
电信——1小时;

3.拉取授权页(唤起免密登录页)

3.1 拉取运营商授权页
由用户触发或者APP启动时自动触发的方式执行拉取授权页方法

3.2  获取手机号码
运营商根据来自SIM卡的访问请求识别该数据流量对应的手机号码掩码;运营商加密返回,用于后续请求验证结果使用。

3.3  展示运营商授权页
终端应用程序获取返回密文并展示运营商授权页,用于用户授权登录注册使用。

4.一键登录(用户触发)

4.1  用户授权并点击一键登录
由用户触发点击一键登录

4.2  申请调用token验证
用户发起一键登录授权请求后,SDK后台向运营商发起token请求

4.3  运营商校验
运营商收到token请求后进行校验

4.4  传递token到App客户端、
运营商校验通过后传递token到App客户端

从4.1发起到4.4返回,理论上这个时间为:
安卓:
联通默认超时间隔:4秒
移动默认超时间隔:8秒
电信默认超时间隔:4秒
iOS:
联通/移动/电信默认超时间隔:4秒

5.置换号码(返回请求结果)

5.1  传递token到App服务端、
App客户端收到token后传递给App服务端

5.2  App服务器端请求获取手机号码接口
App服务端将token请求至闪验服务器,以请求手机号码;闪验服务器再将token传递给运营商请求手机号码

5.3  闪验服务器端请求获取手机号码接口
闪验服务器将token传递给运营商请求手机号码

5.4 运营商对比验证
运营商比对判断token是否一致,并返回加密手机号。

5.5 返回手机号码
闪验服务器返回加密手机号。

5.6 返回手机号码
APP服务器收到解密手机号,并将结果返回APP客户端。

5.7 返回登录结果
App同步应用向用户展示登录注册成功页面,若取号失败或超时则切换到其他方式登录注册