概述
您需要在APP中集成闪验的SDK,并在服务端完成API对接。全流程主要分为四个步骤:
第一步,初始化;
第二步,预取号;
第三步,拉取授权页;
第四步,一键登录;
第五步,置换号码(如下图);
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同步应用向用户展示登录注册成功页面,若取号失败或超时则切换到其他方式登录注册