本机号码一键登录

2020-11-03  本文已影响0人  儒呆子

01、背景

登录 4 姿势:

        用户名/密码登录;

        手机号 + 短信验证码登录;

        第三方账号登录;一般会流氓性的 再加一个手机号 + 短信验证码登录;

        本机号码一键登录。

在移动端,由于体验问题,用户名/密码登录逐渐让位于后面三种。

对于APP,本机号一键登录目前体验是最好的!

02、原理

创蓝闪验为例:

DK取号的原理

通过运营商的数据网关获取号码,因此需要用户开启数据网络量并且给予应用蜂窝数据权限才能使用,当信号弱或者网络有干扰时,时延会高于平均值,取号成功率降低。

初始化

不经初始化SDK无法调用,主要用于账号验签,以及相关配置信息拉取。

取号阶段

在用户无感知的情况下进行网络判断、蜂窝数据网络切换和网关取号等操作(以上操作均需消耗一定时间),并缓存凭证scrip,以便在用户登录时大大缩短拉起授权页的耗时(因为取号已完成)。

成功获取到临时令牌;三大运营商临时令牌有效期如下

移动——72小时;

联通——1小时;

电信——1小时;

取号所需网络环境

运营商取号能力是通过数据网关实现,取号过程须在数据流量打开的情况下才能进行。(WiFi和数据流量同时打开时,SDK会强制切换到数据流量执行取号逻辑)

当用户如果关闭数据流量、或改变运营商分配给手机的IP地址(如VPN代理,路由器VPN、手机VPN、手机热点),都将无法取号;若当前信号弱或者网络有干扰时,时延会高于平均值,取号成功率降低

超时设置

SDK默认超时设置为4000ms,也可使用SDK提供的方法设置取号超时,单位为毫秒。

授权阶段

1.闪验SDK必须经由用户授权才能正常执行获取号码的行为,在授权页上会展示手机掩码提供给用户确认

2.运营商根据来自SIM卡的访问请求,识别该数据流量对应的手机号码,加密后返回手机掩码及临时凭证。

3.SDK获取返回的临时凭证并展示运营商授权页

授权页的拉起

由用户触发或者自动触发的方式执行拉取授权页方法

当取号缓存scrip有效时,SDK能几乎无耗时地拉起授权页;

当取号缓存scrip已失效(用户换卡、缓存有效期已过等)或不存在时,SDK需要先消耗一定时间进行取号,取号成功才能拉起授权页。此取号阶段的用户交互(如取号缓冲页)由业务方自行处理。

授权页元素的自定义和插入自定义控件

对页面内的元素的自定义,请参考SDK开发文档的章节;

若希望在页面中插入其他第三方登录方式,或其他内容,可通过插入自定义控件实现,请参考SDK开发文档的章节

注:自定义的控件不允许覆盖SDK默认的UI,如运营商授权协议

授权页的销毁

为提供更灵活的授权页处理方式,SDK将大部分的授权页关闭逻辑交给业务方处理,可分为以下两种模式:

A.授权页面自动销毁

1.在授权登录页面,当用户主动点击左左上角返回按钮时,授权页面会自动销毁;

2.安卓 SDK,当用户点击手机的硬件返回键(相当于取消登录),授权页面会自动销毁;

3.当用户设置一键登录或者其他自定义控件为自动销毁时,得到回调后,授权页面会自动销毁

B.开发者手动销毁

1.当开发者设置一键登录回调为手动销毁时,可控制授权页销毁时机,一键登录成功后继续等待,在得到服务端传回的用户信息后执行手动销毁,如果失败则选择跳入其他登录方式,并执行销毁操作

2.当开发者设置自定义控件为手动销毁时,在监听到回调后执行销毁操作。

其他具体细节请参考开发文档。

一键登录阶段

用户授权并点击一键登录,发起一键登录授权请求后,SDK后台向运营商发起校验请求,运营商收到token请求后进行校验,运营商校验通过后传递token到App客户端

token获取超时时间

联通默认超时间隔:30秒

移动默认超时间隔:8秒

电信默认超时间隔:10秒

token获取的限制

token有效期3min,一次有效;

移动限制:同一用户(手机号)10分钟内获取token且未使用的数量不超过30个

联通限制:同一用户(手机)10分钟内获取token不超过30个

服务端接口联调

服务端需要凭token置换用户授权的本机号码,接口可报备服务端出口IP地址后才能正常使用,不建议从客户端直接调用。

使用条件

网络制式

①数据流量环境下,SDK功能正常使用

②在WiFi+数据网络情况下,SDK会调用方法强行将当前的网络通道由WiFi通道切换到数据流量通道

③在纯WiFi环境下,SDK功能无法使用。SDK内部做了判断,会弹出相应提示

三网网络环境条件

目前闪验SDK支持中国移动2/3/4G、联通3/4G、电信4G的取号能力

关于Android双卡问题

①SDK的一键免密登录功能和本机校验功能的实现都必须通过数据流量通道。

②SDK内部会获取当前手机的数据流量卡运营商,所以双卡情况下,一键免密登录和本机校验都是对当前的数据流量卡进行获取。  

关于iOS双卡问题

   取流量卡进行免密登录或者本机认证

OPPO等部分终端网络问题

 oppo手机第一次登录必须使用纯流量环境。

由于oppo操作系统增加了应用的数据网络使用权限,在手机wifi和数据网络同时打开时,应用首次打开,将默认使用wifi数据通道,且无法通过SDK强制切换到数据通道取号,会导致取号失败

SDK内在逻辑

注意:此逻辑为闪验SDK内在逻辑,仅供客户参考。

闪验每个步骤依次执行,当预取号步骤失败时,后面不需要重复执行预取号步骤的方法以及后续的拉取授权页的步骤和方法,减少无效调用

产品交互

注意:判断登录态

对于已经登录的用户任何页面不需要调用闪验的逻辑和步骤

交互流程

闪验有完善的返回码,根据返回码可考虑如下交互流程,图片可在浏览器新标签页内放大查看

1、闪验初始化失败:返回失败 转入:原有流程

2、预取号失败:返回失败 转入:原有流程

3、拉起授权页失败:返回失败 转入:原有流程

4、授权页点击事件:左上角返回+物理返回按钮,返回:点击事件返回码  转入:登录前界面

5、授权页点击事件:一键登录按钮,返回:超时或无法校验  增加交互:一键登录失败,将转入短信注册 然后定时跳转转入:原有流程

6、授权页点击事件:选择其他方式登录  返回:自定义事件控制 转入:原有流程

额外产品逻辑

1、在后台配置针对闪验服务的开关,用做回滚备用方案

2、闪验自定义界面的控件 

a、【其他方式登录】适用于:用户双卡情况下当前流量卡不是想登录的号码,用户希望登录的手机号码在别的手机上

b、【微信/QQ/微博快速登录组件】适用于:把闪验作为主要登录逻辑第一层可集成快速登录组件

3、在用户登录后,可缓存用户cookie,并在下次用户打开时,让用户进入已登录状态

03、使用方法

注:本当章节下所有内容的撰写思路与方式:

以小红书为例:

相对于现有验证码的优势:

04、应用场景

介绍如何应用场景:

05、延展

关联技术的延展介绍

弱化版一键登录:通过WEB方式进行,手机号还是要自己填写的,后续流程大致一样。

在换绑手机号/一键登录失败时,短信验证码方式进行补位 保证流程不断。

在存在本机号一键登录时,依然选择第三方平台登录(微信、QQ、微博),说明用户考虑到了安全性问题。

上一篇 下一篇

猜你喜欢

热点阅读