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

createh54个月前 (02-24)技术教程33

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


那么,你了解验证码登录和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 样式表以及一小...

用友NC系统“登陆后页面显示不完全”,怎么办?

用友NC系统使用过程中常见问题和解决方法:1、无法安装客户端插件,不能进入NC系统登陆界面问题现象现象1:可以打开web界面,但无法进入登陆界面,一直停留在右图所示界面。现象2:系统提示安全警告问题原...

一步步使用SpringBoot实现登录和用户管理功能源码分享

前后端分离开发是当今开发的主流。本篇文章从零开始,一步步使用SpringBoot结合Vue来实现日常开发中最常见的登录功能,以及登录之后对用户的管理功能。通过这个例子,可以快速入门SpringBoot...

SpringBoot Shiro 实现登录/记住我的功能

导读Apache Shiro 是一个简单且强大的框架。 提供了全面的安全管理服务、认证、授权、加密和会话管理等功能,相对于其他安全框架,Shiro 使用简单,上手快,也是受到了很多企业的青睐。本教程会...

若依开发框架解析笔记(2)-登录验证码生成解析

这篇笔记的内容主要讲解后台登陆生成验证码相关的内容。在前后端工程都顺利启动之后,打开网页,可以使用浏览器的开发者工具,可以查看http的请求和响应情况,根据url可以快速定位到后端的具体的控制层的方法...