很多初级程序员对扫码登录 SSO登录 第三方登录不了解,原理很巧妙

createh52个月前 (02-24)技术教程18

对于注册后的密码登录、第三方登录,大家可能了解得比较多。如下是密码登录和第三方登录的典型界面,一起来看一看:


那么,你了解验证码登录和SSO(Single Sign On)登录吗?无论是在实际工作中,还是在笔试面试中,验证码登录和SSO登录几乎都是绕不开的重要问题。

对于一个互联网人来说,无论是从事何种岗位的工作,都建议来了解这些常见的登录。今天,我来具体聊下这两块,内容不会很复杂,就当是科普性质的介绍。


一. 验证码登录

前几年,我意外地发现,微信没有让用户感知到密码的存在。对于熟悉了账号密码登录方式的我们来说,微信用户居然不需要关注密码,这一点真是做得太成功了。

另外,你应该有这种体会,你登录银行APP时,也不需要输入密码,只需要输入手机短信的验证码。这可省心多了,免得去记忆密码。下面,来聊手机验证码登录。

我们来看看知乎网站的登录界面,如下图所示:


具体的方式,应该很清楚了:用户输入手机号码,系统给该手机号码发送验证码,用户收到短信中的验证码后,输入验证码作为临时密码,从而登录系统。

为了安全起见,验证码都有时效性,一般就几分钟,过期无效,这个过期时间通常是在后端设置的。所以,我们要注意,手机的验证码千万不要泄露给别人。

至于后端的开发,那其实也很简单,核心原理就是触发发送短信,然后匹配验证。现在,各种指纹登录、刷脸登录、视频登录的方式层出不穷,原理都类似。

比如,从上图可知,除了短信验证码,还有语音验证码:系统自动给用户打电话,播报包含验证码的语音,用户听懂语音中的数字后,作为验证码登录系统。


二. SSO 登录

关于SSO 登录,其目的是为了解决多系统的统一一次登录问题,业界常用单点登录。我来举个例子,你就明白了。

刚才我特地验证了一下:当我登录淘宝网页后,打开天猫网页时,天猫也自动登录了,这其实就是SSO单点登录。

从业务上讲,淘宝和天猫都是阿里巴巴的亲儿子,让它们共用账号体系,也是顺其自然的事情,用户也方便多了。

但淘宝和天猫域名不同,存在跨域问题,无法直接实现cookie和session共享,那么淘宝和天猫如何实现SSO呢?

从技术上讲,SSO有很多种实现方式,淘宝和天猫的具体实现方式,我们不得而知。下面,我来聊一种典型SSO.

下图是SSO流程,其中CAS Server是SSO后端,Protected App是淘宝后端,Protected App #2是天猫后端:


我们可以看到,通过SSO, 如果用户登录了淘宝,自然就登录了天猫。如果退出登录淘宝,天猫自动退出登录。

SSO的原理并不难,搞懂了SSO, 有利于理解前端和后台的一些重要知识。SSO也是很多笔试和面试的常见考点。

如果是工作中,你当然可以去网上查一些资料。但是,如果是面试现场,让你讲清SSO登录原理,也要了如指掌。


好的,关于验证码登录和SSO登录,先聊这么多,如果大家有疑问,欢迎随时来交流。今天先这样,咱们明天见

本人花费2个月时间,整理了一套JAVA开发技术资料,内容涵盖java基础,分布式、微服务等主流技术资料,包含大厂面经,学习笔记、源码讲义、项目实战、讲解视频。

java面试资料



相关文章

那些年的QQ登录界面,你还记得吗,满满的全是回忆

刚上大学的时候,手机QQ软件不是很流行,因为除了一些品牌手机,其他国产手机基本不支持这个软件。那时候手机上网也是刚刚开始流行,5元30M流量,省着点用,是能坚持到月底的。那时候喜欢跟人聊qq,就用网页...

CAS单点登录(第7版)20.用户界面

如有疑问,请看视频:CAS单点登录(第7版)_在线视频教程-CSDN程序员研修院1. 用户界面1.1. 概述1.1.1. 概述对 CAS 用户界面 (UI) 进行品牌化涉及编辑 CSS 样式表以及一小...

使用Flutter设计一个好看的"我"页面

近期遇到一些很烦的琐事,状态比较down,很多原本计划好的事情都耽搁了,实在是难顶……看到后台一直有朋友问怎么博客和公众号没有更新,所以我忙完得闲就来更了!前言起因是最近重拾以前的旧项目(业余做的,打...

开始使用支付宝登录接口之前

开始使用支付宝登录接口之前,您需要先创建一个支付宝应用并将其注册到支付宝。这将为您提供一个应用 ID 和应用密钥,您需要在调用 API 时使用它们。获取用户授权要使用支付宝登录接口,您需要先从用户获取...

「JWT」,你必须了解的认证登录方案

「JWT」,你必须了解的认证登录方案

作者:古时的风筝原文链接:https://www.cnblogs.com/fengzheng/p/13527425.htmlJWT 全称是 JSON Web Token,是目前非常流行的跨域认证解决方...

掏出手机,扫一扫,即刻登录——SpringBoot实现二维码扫码登录

二维码扫码登录已经成为了现代互联网时代的一种普遍的登录方式。它的出现,极大地方便了用户登录的流程,减少了用户输入用户名和密码的麻烦。在二维码扫码登录流程中,用户只需要通过扫描二维码的方式即可完成登录,...