一起来看看火爆的手机号码一键登录

Author:闫玉良

不知你是否发现:大批手机 app 登录页面,突然之间变成了一键登录。之前大火的 通过手机号码获取短信验证码 登录模式正悄悄退去。这神奇的操作是如何实现的呢?

更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

1.背景

之前所有的登录页面千篇一律为「手机号」「验证码」(暂且忽略账号密码以及第三方登录模式),这是因为想要验证「你就是你」,在手机号实名认证的时代,通过向号主本人发送验证码来验证登录是较为稳妥的方式,事实证明也的确如此。但是受网络延迟以及操作繁琐等影响,对于用户留存以及用户新增有着不小的挑战。

也许你会想 APP 直接读取手机号验证号主身份不就好了嘛?对不起,如果哪家公司公开窃取手机号,离监狱就是负距离。这时三家通讯公司瞄准了这一市场,开放了相关能力,即通过调用运营商的接口,判断用户输入的手机号与本机号码是否一致。但细细一想,用户还是需要填写手机号,如果运营商直接把手机号返回给我们,那该多棒啊!这么一来「一键登录」就诞生了。

运营商是具备通过 sim 卡数据查询到手机号码的权限以及能力的。

刚才说到三家运营商开放了相关接口,但是他们毕竟是竞争关系,彼此之间互不兼容,而且提供的优惠以及方式也是不同的。好比移动出了一款4G套餐100分钟500M;联通出了同价位套餐200分钟10G;电信一看不行,出了不限流量。作为用户的我们肯定会根据自身情况选择最合适的,但是一般也是只选其一。不要说你办了三家的卡,而且为了同时使用甚至买了三个手机,如果你是如此土豪,请收下我的膝盖。因此,对于我们应用,集成三家通讯商的 SDK 是不是有点不那么方便以及划算呢?第三方平台便应运而生,比如某蓝(因为他们公司至少有3个推广添加了我的微信,所以我印象颇深)。

2.原理

作为技术人员,其实最关心的还是实现方式。结合网上各个平台的调用方式,绘制了此图:

小闫揭秘一键登录

1) 用户打开 app 请求登录

2) 显示登录, app 通过内置的认证 SDK 向运营商获取手机号码

3) 获取成功时,为用户展示授权页面(就是是否一键登录)

4) 等待用户进行点击授权

5) 用户同意授权

6) SKD 得到授权之后,获取 token ,然后向 app 返回接口调用 token

7) appapp服务器 传递获取到的 token

8) app服务器 拿着客户端传过来的 token 请求 认证服务器 获取手机号码接口

9) 认证服务器 返回手机号码给应用服务器

10) 登录成功

3.后话

虽然一键登录比短信验证码收取的费用便宜不了多少,但是其节省的时间以及简化的操作不止一点半点。对于注册时,更是省时省力,拉新超赞。

对了,还有一点你需要知道,那就是这一操作必须建立在拥有顺畅的网络基础之上。

三大运营商提供的接口操作对网络要求各不相同,但都不支持 WiFi 无线网络,最好是 4G +

更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • 页面访问量: 独立访客访问数:
  • 更多精彩文章请关注微信公众号『全栈技术精选』,id 为『Pythonnote』

请我喝杯咖啡吧~

支付宝
微信