用户一键登陆,如何实现?了解一下!

华为交换机中用户登陆相关配置 文章目录1. 首次使用console口登陆配置1. 配置使用密码登陆2. 配置使用AAA认证方式3. console用户界面管理2. VTY用户界面配置1. 配置VTY用户界面最大个数2. VTY用户界面登陆方式之telnet3. Telnet server相关设置4. VTY用户界面下配置acl策略5. VTY用户级别和访问权限规则6. VTY用户界面登陆之SSH7. 配置ssh之password认证 以下情况都是在华为S5700交换机下演示,不同型号交换机和路由器具体配置略有不同。 登陆交换机,目前方 阅读详情

点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 8:55 更新文章,每天掉亿点点头发...

源码精品专栏

 

来源:juejin.im/post/5d197adff265da1bb31c4fa9

  • 账号、密码登陆

    • 缺点

  • 手机号、验证码登陆

    • 缺点

  • 本机号码认证

    • 一键登录


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

账号、密码登陆

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

缺点

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

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

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

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

手机号、验证码登陆

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

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

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

缺点

这种登录方式需要进行一系列的操作:输入手机号、等待验证码短信、输入验证码、点击登录。这整个流程走完可能需要 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 的秒验。但价格可能会变化,这里就不具体讨论了。

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

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

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

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



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 20 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

兄弟,艿一口,点个赞!????

统计连续登陆5天以上的用户 统计连续登陆5天以上的用户 前两天面试的时候,被问到一个sql的问题,有一张用户登录表,里面有用户名和登陆日期,现在要统计连续登陆5天以上的用户,问如何实现。 面试的时候,一下子就被难住了,后来百度了一下,后来百度了一下发现这个问题问的还挺多,看来还是我接触的场景比较少。。。。 我百度到了一个实现的思路感觉还是比较容易理解的,自己验证了一遍,在此就记录一下~ 先说一下思路:假设每个用户每天只登陆一次,当然其实每天的登陆多次也是一样的方法。 1、先按用户名和登陆日期分组,按登陆日期升序排序,并写出序号 2、用 阅读详情

相关推荐

linux中关于用户交互式登陆

1.新建一个用户名称为gege并查看用户账户信息中用户bai的相关信息 [root@station ~]# useradd gege [root@station ~]# cat /etc/passwd 分析:可以看到gege❌2015:2015::/home/gege:/bin/bash内容,其中用户登陆到/bin/bash就是交互式登陆,如果要禁止用户交互式登陆就要修改bash,使用户无法登...

qq_39376481的博客 2068

芋道以开源之名行下作之事 恬不知耻 标榜自己开源 特公开全部源码+sql 不用再加入知识星球 2024-08-14

链接: https://pan.baidu.com/s/1TeuxbAUfLQ5_BqMBF1kniQ?pwd=cqud 提。依次为后端、补充版的sql、前端。此文档内安装部署等一应俱全。

bojikeqian的博客 5036

uniapp(安卓/苹果app端) - 最新详解本机号码一键登录功能,uniapp App平台端实现手机号一键登录功能,支持三网通移动、联通、电信手机号用户无需验证码直接登录(详细示例代码,一键复制)

uni-app,安卓app,苹果app,Android,ios,Uniapp手机软件app端,苹果ios系统手机号一键登入,uniapp app开发详解本机号码快捷登录,如何实现手机一键登录,一键登录失败怎么办,app手机号一键登录,手机号码一键登录,uniApp本机号码一键登录并获取手机号,无法获取手机号,苹果ios不能获取,本机一键登录详细教程,本机号码一键登录,一键登录/本机校验,最好用的插件,一键登录组件,uni-app中使用手机号一键登录,接入一键登录,联通电信移动三网通,阿里云,腾讯云,云函数,

✅ 精选推荐文章 6249

好奇一键登录是怎么实现的吗?进来了解一下?

/ 今日科技快讯 /近日美国联邦贸易委员会(FTC)正式宣布批准与Facebook达成50亿美元的和解协议。这是FTC有史以来对科技公司开出的最高金额罚单,此前的...

郭霖 1204

威纶通HMI登陆方式(二):索引密码登陆

威纶通触摸屏在工业自动化中表现卓越,其索引登陆机制尤为突出。相比账号密码,索引登陆简化了操作,增强了系统灵活性与安全性。操作员只需从预设列表选用户名称,快速验证身份,减轻记忆负担,提升工作效率。同时,索引登陆灵活配置,满足不同行业与场景需求,确保权限与职责匹配,既保障安全又促进资源高效利用。这一创新设计,完美融合了技术与实用性,提升了用户体验。

XiuLian 5520

NLP DAY1: 文本数据读取

txt 文本数据的读写CSV 及 Excel 文本数据的读写更多的 DataFrame 操作数据规模太大怎么办相信通过本次实验的学习,同学们可以游刃有余地面对各种数据文件了。在接下来的实验中,我们将开始真正地开启自然语言处理之旅,开始认识并熟悉一些常见的针对文本本身的预处理操作。

feifeikon的博客 1061

uni-app中使用手机号一键登录的详细图文教程

到此这篇关于uni-app中使用手机号一键登录的文章就介绍到这了,更多相关uni-app手机号一键登录内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!一键登录应用ID为离线打包时配置的appid。3、在uni-app项目中开通uniCloud服务【关联云空间选择阿里云或腾讯云】开通一键登录服务, 获取关键最关键的两个参数ApiKey和ApiSecret。7、勾选一键登录(项目中的 manifest.json)2、登录云服务空间,创建服务空间,选择云服务商等。6、关联后上传部署到云空间。

weixin_45932157的博客 6251

2022年全球市场微波等离子体CVD反应器总体规模、主要生产商、主要地区、产品和应用细分研究报告

据GIR (Global Info Research)调研,按收入计,2021年全球微波等离子体CVD反应器收入大约 百万美元,预计2028年达到 百万美元,2022至2028期间,年复合增长率CAGR为 %。

MARKETRESEARCH的博客 1138

免费获取芋道源码ruoyi-vue-pro和yudao-cloud的sql脚本,持续更新!

ruoyi-vue-pro和yudao-cloud都属于芋道源码,但用过的人都知道,这两个开源项目下有商城、ERP、CRM等模块,这些模块的SQL需要加入芋道源码的知识星球才能获取,加入费用为199元,有点小贵!芋道源码的ruoyi-vue-pro和yudao-cloud都已经发布到GoldPanKit上,通过GoldPanKit构建项目不仅可以免费获取到SQL,还能选配功能模块,调整包名,自动配置数据库。

Caesar's blog 1万+

ESP32连接PDM麦克风操作指南:新手入门必看

手把手教你如何将ESP32与PDM麦克风连接,采集音频数据并用于音频分类应用。内容涵盖硬件接线、代码配置及实际调试技巧,适合初学者快速上手esp32在声音识别场景中的使用。

weixin_42590539的博客 1329

告别复杂配置!5分钟在Vue/React项目中集成讯飞语音听写WebSocket API

本文详细介绍了如何在Vue/React项目中快速集成讯飞语音听写WebSocket API,实现高效语音识别功能。通过对比不同通信方案,突出WebSocket在实时语音交互中的优势,并提供框架适配、音频处理及性能优化等关键技术点,帮助开发者5分钟内完成专业级语音听写功能集成。

weixin_28730353的博客 274

java 实现异地登陆_Java实现用户异地登陆踢人操作

使用框架:Shiro+SpringBoot首先,我先说步骤:1.登陆2.查看该用户是否已经登陆 是:3 否:正常登陆3.将已登陆用户踢出,自己登陆。这只是说原理,具体实现现在说。踢出已登陆用户,主要体现在对已登陆用户session的处理上,原理简单,就是将已登陆用户的session删除就好。难点在于如何找到该用户的session。这里,我使用了redis首先,在登陆的时候获取用户的sessio...

weixin_36486395的博客 2027

【保姆级教程】YOLOv8_Pose多目标+关键点检测:训练自己的数据集

【保姆级教程】YOLOv8_Pose多目标+关键点检测:训练自己的数据集

m0_51579041的博客 1万+

一键登陆了解一下

我们先来看一下目前的一些登录方式:账号、密码登陆使用账号加密码是最传统的登录方式,可以说是简单粗暴的,一般也不会出现什么问题。

z_ssyy的博客 2014

GEE:耦合5个因子的kRSEI遥感生态指数(K Remote Sensing Ecological Index, KRSEI)计算

本文将介绍在 Google Earth Engine (GEE)平台上,如何耦合5个因子,进行 kRSEI 的计算。具体来说,分别计算了 `NDVI, WET, NDBSI,LST,NDRI` 5个因子,并使用 PCA 主成分分析方法计算了权重,最后,计算了 kRSEI 指数。

养乐多的博客 1417

可食用野生植物检测实战:基于YOLOv11的智能识别系统全流程指南

本文介绍了一种基于YOLOv11的可食用野生植物智能识别系统。该系统通过深度学习技术,能在0.2秒内精准识别植物是否可食用,准确率高达92%。文章详细阐述了从数据采集、标注到模型训练、验证的全流程,并开发了用户友好的Tkinter交互界面。该系统解决了户外探险和植物研究中植物识别的痛点,具有高精度、实时性和强泛化能力的特点,为户外安全提供了智能化解决方案。

FJN110的博客 164

在javaEE中,实现用户登陆功能的实现

1、在jsp页面中创建form表单,用el表达式获取登陆失败返回的字符串 2、在相关servlet层创建一个用于登陆的dutyServlet类,继承baseServlet baseServlet以及复用,代码如下: package com.bjsxt.servlet; import java.io.IOException; import java.lang.reflect.Method; i...

时间静止 9604

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

一键登陆了解一下?

作者 | NanBox链接 | juejin.im/post/5d197adff265da1bb31c4fa9我们先来看一下目前的一些登录方式:账号、密码登陆使用账号加密...

公众号:Java后端 719

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Java实现用户异地登陆踢人操作

使用框架:Shiro+SpringBoot首先,我先说步骤:1.登陆2.查看该用户是否已经登陆 是:3   否:正常登陆3.将已登陆用户踢出,自己登陆。这只是说原理,具体实现现在说。踢出已登陆用户,主要体现在对已登陆用户session的处理上,原理简单,就是将已登陆用户的session删除就好。难点在于如何找到该用户的session。这里,我使用了redis首先,在登陆的时候获取用户的sessio...

shadowTime的博客 5874

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

基于redis实现用户登陆

2.用户输入验证码,发送请求(携带参数手机号,参数验证码)进行登陆,后端从redis查询是否有对应的手机号,验证码。有就登陆成功,根据手机号查询用户信息,随机生成登陆凭证token,把token和用户信息存入redis。3.之后用户每次发送请求都携带登陆凭证token,用户发送的请求会被拦截器拦截(之前的login服务不会被拦截),拦截后根据token查询redis中是否有对应的用户信息,有就把用户基本信息存入ThreadLocal中以供本次请求使用,然后放行请求。调用第三方平台把验证码发到用户手机。

随便写写 1380

Spring Security用户名密码登陆和token授权登陆两种实现

最近研究了一下Spring boot的web工程里通过Spring security做登陆验证。因为要满足授权登陆和用户名密码登陆两种方式,因此有一些配置和自定义的验证方式需要添加。这里简单说一下,主要留着备忘,之后有继续对这个框架研究再继续完善这份文档。 简单先说说spring security对于登陆验证的流程。 security本身带有一系列的拦截器,对于web资源的请求,都会根据secur...

markfengfeng的博客 1万+

spring利用session判断用户的登陆状态,实现强制登陆

文章目录前言用户登陆注销登陆拦截器类(强制登陆功能的关键):拦截器在springmvc-servlet.xml里的配置: 前言 在web项目里,当用户量少时 我们通常用session来判断用户的登陆状态,以此来实现强制登陆 强制登陆概念: 只有当用户用帐号密码登陆后,我们在浏览器上可以访问购物车,订单等页面,否则会自动跳转到登陆页面; 用户登陆 当用户第一次登陆时,我们手动向session里存入一个登陆标识,用来存入用户的状态: //登陆 @RequestMapping("/login"

木泽锐 2487
上一篇: 四连问:API 接口应该如何设计?如何保证安全?如何签名?如何防重?
下一篇: 2020 年最漂亮的 Linux 发行版
公众号-芋道源码
博客等级 码龄10年 1636粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值