一键登陆了解一下

news2024/11/30 6:49:04

我们先来看一下目前的一些登录方式:

账号、密码登陆

使用账号加密码是最传统的登录方式,可以说是简单粗暴的,一般也不会出现什么问题。

缺点

但这种方式要求用户要记住自己的账号和密码,也就是有一个记忆成本。用户为了降低记忆成本,很可能会在不同平台使用同一套账号密码。从安全角度考虑,一旦某个平台的账号密码泄露了,会连累到该用户使用的其他平台。

另外,由于账号和个人身份无关,意味着同一个用户可以注册多个不同的账号,也就是可能会有恶意注册的情况发生。

为解决这两个问题,理想的情况就是使用一个和用户身份强关联的东西来作为账号。但用什么呢?总不能拿身份证做账号吧。

这个问题一直没有一个好的回答,直到手机卡强制实名制。

手机号、验证码登陆

从手机卡实名制开始,手机号已经成为我们的另一个身份证明。

使用手机号加验证码的登录方式目前已经成为主流,和输入账号密码相比,它可以更好的验证用户身份,可以防止恶意注册,用户不用再去记自己的账号密码,增加了安全性。现在用户也习惯并接受了这种登录方式。

现在很多产品还把登录和注册的流程进行了结合,如果登录时服务器发现手机号还未注册,会直接用这个手机号注册好再进行登录,注册过程对用户是无感的,极大简化了注册流程。

缺点

这种登录方式需要进行一系列的操作:输入手机号、等待验证码短信、输入验证码、点击登录。这整个流程走完可能需要 20 秒以上,操作也比较繁琐。并且它是依赖短信网络的,因为如果收不到短信,也就登录不了了。这些问题可能造成一部分用户在注册阶段就流失了。

从安全角度考虑,还存在验证码泄漏的风险。如果有人知道了你的手机号,并且窃取到了验证码,那他也能登录你的账号了。

但回过头来想一下,为什么我们需要验证码?验证码的作用就是确定这个手机号是你的,那除了使用短信,是否还有别的方式对手机号进行认证?

本机号码认证

如果能获取到当前使用的手机号,就能对用户输入的号码进行验证了。但出于安全考虑,客户端是无法直接获取到手机号的,运营商则可以通过 sim 卡数据查询到。

现在运营商已经开放了相关的能力,现在我们可以在用户输入手机号后,通过调用运营商的接口,判断用户输入的手机号是否和本地号码一致。这样一来,用户就省去了等待验证码短信、输入验证码的过程,也不受短信网络的限制,简化了登录流程。

但再进一步想,如果运营商可以把当前的号码直接返回给我们,而不只是用于验证,那用户连手机号都不需要填了。

于是,就有了今天的主角一键登录。

一键登录

获取到当前手机使用的手机卡号,直接使用这个号码进行登录,这就是一键登录。

这种登录方式的好处是显而易见的。它可以更方便、快捷地完成注册、登录流程,将原本可能需要 20 秒的流程,缩短到了 2 秒左右,很大程度上降低了登录环节的用户流失。

一键登录能不能做,取决于运营商是否开放相关服务,这也是为什么过去没有一键登录,直到最近三大运营商都有了自己的开放平台:

  • 移动 - 互联网能力开放平台

  • 电信 - 天翼账号开放平台

  • 联通 - WO+ 开放平台

要使用一键登录,需要接入运营商的 SDK,三大运营商使用了同一套授权流程:

主要步骤如下:

  1. SDK 初始化

调用 SDK 的初始化方法,传入项目在平台上的 AppKey 和 AppSecret。

  1. 唤起授权页

调用 SDK 唤起授权接口。SDK 会先向运营商发起获取手机号掩码的请求,请求成功后跳转到授权页。授权页会显示手机号掩码以及运营商协议给用户确认。

  1. 同意授权并登录

用户同意相关协议,点击授权页面的登录按钮,SDK 会请求本次取号的 token,请求成功后将 token 返回给客户端。

  1. 取号

将获取到的 token 发送到我们自己的服务器,由服务器携带 token 调用运营商一键登录的接口,调用成功就返回手机号码了。服务器用手机号进行登录或注册操作,返回操作结果给客户端,完成一键登录。

这里需要把授权页拎出来讲一下,它一般长这样:

授权页是 SDK 里定义的页面,以安卓为例,接入 SDK 后我们需要在 AndroidManifest 里注册好这个页面。我们不能也不应该跳过授权页面,未经用户允许就获取用户手机号。

由于授权页是第三方的页面,我们无法自由修改页面样式,但 SDK 里提供了足够丰富的接口给我们自定义样式。

前面说到,在授权页显示之前需要先请求到手机号掩码,用于在授权页展示。为了增加授权页的跳转速度,减少用户等待的时间,通常 SDK 会提供一个预取号的接口给我们,这个接口取的就是手机号掩码。我们可以在打开 APP 的时候就调用这个接口,在已经取得掩码的情况下,用户点击跳转授权页面就不需要再等待了。算是对用户体验的一个小优化。

在认证过程中,会把网络切换为移动蜂窝网络,目前支持的制式有中国移动 2G/3G/4G、中国联通 3G/4G、中国电信 4G。当然最好是使用 4G,使用 2G、3G 会降低认证的成功率。

在没有插电话卡,或者关闭移动蜂窝网络的情况下,是无法完成认证的。所以就算接入了一键登录,我们也要兼容传统的登录方式,允许用户在认证失败的情况下,手动输入手机号登录。

三家运营商都拥有自己的 SDK,但各自的 SDK 不一定支持别家的认证。这导致目前许多接入了一键登录的产品,只支持某一个运营商。

如果要兼容三大运营商,就需要分别接入三个 SDK。现在我们也有更简单的方法,就是接入一个整合了三大运营商认证能力的第三方 SDK,目前主要有以下几家:

  • 阿里 - 号码认证服务

  • 极光 - 极光认证

  • mob - 秒验

原理和使用方法基本都是一样的,具体大家可以查看它们的文档。

讲一下我们比较关心的价格问题,我了解了运营商和上面提到那几家的计价,认证一次的价格集中在 4 到 6 分钱不等,其中最便宜的是 mob 的秒验。但价格可能会变化,这里就不具体讨论了。

一般是成功置换到手机号算一次计费,调用预取号接口和认证失败,都是不计费的。

总的来说,一键登录和发送验证短信的价格差不多。发送短信是发送一条就计费一次,但用户存在需要多次获取验证码才能登录成功的情况。而一键登录能置换到手机号,基本就意味着登录成功了。所以从次数上考虑,接入一键登录应该还能稍微省一点。

目前,一键登录处于刚起步的阶段,运营商的认证服务还需要改进,对于用户也还有一个被接受的过程。

但毫无疑问,一键登录将会成为未来的主流登陆方式之一。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84900.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Tryhackme】KoTH Food CTF(前端验证绕过,图片隐写,SUID提权:vim.basic)

免责声明 本文渗透的主机经过合法授权。本文使用的工具和方法仅限学习交流使用,请不要将文中使用的工具和渗透思路用于任何非法用途,对此产生的一切后果,本人不承担任何责任,也不对造成的任何误用或损害负责。 服务发现 ┌──(r…

学习管理系统五大好处

正如我们先前提到过的,对于公司来说,建立“学习型文化”可以带来许许多多的好处。然而,企业规模会越来越大,员工的培训学习需求并不会减少,这也会为企业的员工培训带来压力。学习管理系统(LMS)可…

GCSE英语语言考试-对虚构小说的问题作答

How to analyse a fiction extract 如何分析虚构小说节选 In an analytical response, you should show how language and structure create meaning. You could also explore the effect on the reader. An analytical response uses evidence from the text to make clear po…

教育培训机构教学课程内容视频加密是如何做的?

阿酷TONY / 2022-12-13 / 长沙 / 原创组图 / 内容含实测链接可测效果 教育培训机构教学课程内容视频加密是如何做的?教育机构的web课程视频加密是如何实现的?主要通过以下的一些方式来实现: 目录: 1、VRM加密 2、播放器加密…

年终总结才是职场人的天花板,学会这4个技巧,让绩效轻松翻倍

作为2022年的最后一个月,不少人正在或即将的年终总结怎么写愁掉了头发。今天老李就给大家分享几个如何做出领导爱看,绩效翻倍的年终总结的方法或套路。 方法一:列完大纲再填充 很多人一上来就罗列工作内容,写到最后看着字数不少…

在小程序中如何使用svg图标

1.首先找到一个能够下载svg图标的网站,例如iconfont或iconpark。 Tip:图标网址iconpark:ByteDance IconPark 2.选择好点击批量下载,下载一个压缩包。将下载后的压缩包解压之后就是我们选择下载的svg文件。如下图 3.打开将svg文件转成base64的…

RabbitMQ的发布确认

文章目录前言:为什么要用发布确认一、发布确认原理二、发布确认的策略2.1 开启发布确认的方法2.2 单个确认发布2.3 批量确认发布2.4 异步确认发布如何处理异步未确认消息以上 3 种发布确认速度对比前言:为什么要用发布确认 答:持久化章节中&…

在word文档表中插入图片不变形

在word文档表中插入图片不变形 目录 在word文档表中插入图片不变形 1、点击左上角【全选图标 】选中表格,鼠标右键点击【表格属性】 2、点击【选项】点击 取消勾选【自动重调尺寸以适应内容】,最后点击【确定】 ​3、依次点击【插入】【图片】点击图片…

【TSP问题】基于蜜蜂算法求解旅行商问题附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

安全数据资产统一管理

安全数据资产 统一管理DataOps,即 Data 和 Operations 的集成,于 2014 年首次提出。Gartner 将 DataOps 定义为“一种协作性的数据管理 实践,专注于改进组织内数据管道的通信、集成和自动化”[7]。DataOps 是一种面向流程的自动化方法&#x…

U盘被写保护怎么解除?解决方案只需这几个

U盘写保护是一种物理开关保护功能,用于防止存储介质上的数据被错误删除或者写入。如果你想去掉“写保护”,u盘被写保护怎么解除?看看下面的解决方案是怎么说的,赶紧跟随下面去掉U盘写保护的步骤来操作吧! 方案一&#…

基于opencv传统数字图像处理实现车道线检测详细过程(附源码)

车道线检测 (Lane Detection) 1、实验内容 本实验使用数字图像处理的基本方法,构建了一个车道线检测模型。该模型可以识别图像中所有的车道线,并得到完整的车道线信息。模型在tuSimple Lane Dataset大小为100的数据子集进行了测…

餐饮门店数字化转型|餐厅管理系统小程序

餐饮行业规模非常庞大,每年都有大量公司或个体户入局,国内各类美食非常多,不同品类菜品都有大量需求,以前几乎在业的餐饮门店,只要运营得当,挣多挣少总归是有利的,也能很好的生存下去&#xff0…

nodejs+vue大学生交流互动论坛网站系统

目 录 1 概述 1 1.1课题背景及意义 1 1.2 国内外研究现状 1 1.3 本课题主要工作 2 2 系统开发环境 3 前端技术:nodejsvueelementui 前端:HTML5,CSS3、JavaScript、VUE 系统分为不同的层次:视图层(vue页面&…

【云计算与大数据技术】Bloom Filter、LSM树、Merkle哈希树、Cuckoo哈希等数据结构的讲解(图文解释 超详细)

一、重要数据结构与算法 分布式存储系统中存储大量的数据,同时需要支持大量的上层读/写操作,为了实现高吞吐量,设计和实现一个良好的数据结构能起到相当大的作用 这是以下三个数据库使用的数据结构,一个良好的数据结构对于分布式系统来说有…

Swift 周报 第十九期 |技术汇总

前言 本期是 Swift 编辑组自主整理周报的第十期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。 欢迎投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加入周报整理。 十期磨一剑,废铁亦有形&am…

使用TensorFlow Probability实现最大似然估计

TensorFlow Probability是一个构建在TensorFlow之上的Python库。它将我们的概率模型与现代硬件(例如GPU)上的深度学习结合起来。 极大似然估计 最大似然估计是深度学习模型中常用的训练过程。目标是在给定一些数据的情况下,估计概率分布的参数。简单来说&#xff0…

开源依赖项管理指南

就像人际关系中人与人之间的关系一样,软件生态系统中包含一个庞大的关系网络。其中一些联系非常深入,而有一些关系则更为表面。但实际上,现代基于开源的软件开发涉及一个极其庞大的依赖关系树,依赖关系层层叠加,同时涉…

喜讯丨创新微MinewSemi的MS11SF1系列荣获2022中国IoT创新奖—产品金狮奖

北京时间2022年12月8日,由知名电子科技媒体“电子发烧友”举办的2022第九届中国IoT大会在深圳圆满落幕,创新微MinewSemi凭借高性能、低功耗的WiFiBLE Combo 模块—MS11SF1系列,在众多参会嘉宾和行业主流媒体的共同见证下,荣获2022…

卷积神经网络中卷积的作用与原理

目录 前言 卷积的作用 卷积的参数 卷积核大小(kernel_size) 填充(padding) same valid full 卷积核算子(operator) Robert 算子 Prewitt算子 Sobel 算子 Laplance 算子 卷积核深度与个数&…