单点登录(SSO)机制

1、定义

单点登录(Single Sign On),简称为 SSOSSO的定义是指用户只需要登录一次就可以访问所有相互信任的应用系统。

eg:淘宝、天猫都属于阿里旗下,当用户登录淘宝后,再打开天猫,系统便自动帮用户登录了天猫,这种现象就属于单点登录。

2、两种实现方式

​ 基于Cookie实现单点登录:在用户第一次登录系统时,系统会为用户颁发一个令牌(Token)。这个令牌包含了用户身份信息和过期时间等元数据,并在服务器端保存副本。然后,系统将这个令牌放入响应的Cookie中返回给客户端浏览器,并在后续的每个请求中都携带这个Cookie。当用户访问其他应用系统时,这些系统会验证Cookie中的令牌信息,如果令牌有效,则允许用户访问系统资源。

下面结合古代官员进宫来举例:

1)首次进宫:想象一个古代的皇宫,当一个官员第一次要进入皇宫时,他需要通过严格的检查,比如出示自己的官职证明(相当于用户登录)。一旦验证通过,皇宫的守卫(服务器)会给他一个令牌(Token),这个令牌上刻有他的官职、姓名、允许进入的区域以及令牌的有效期(相当于Token中的用户身份信息和过期时间)。

2)令牌发放:皇宫守卫会将这个令牌交给官员,并告诉他每次进宫都需要出示这个令牌(将Token放入Cookie中返回给客户端浏览器)。

3)携带令牌:官员将令牌挂在腰间(相当于浏览器保存Cookie),之后每次进宫,他都需要向守卫展示这个令牌(在后续的每个请求中携带Cookie)。

4)令牌验证:当官员想要进入皇宫的不同区域(访问其他应用系统)时,每个区域的守卫都会检查他腰间的令牌(验证Cookie中的Token信息)。如果令牌上的信息是正确的,并且令牌还没有过期,守卫就会放行(允许用户访问系统资源)。

5)令牌过期:如果令牌过期了(Token过期),官员就需要重新通过检查(重新登录),以获得一个新的令牌(新的Token)。

基于Token实现单点登录:用户首先在SSO认证服务器上进行身份验证,如果验证成功,则认证服务器会颁发一个Token。然后,这个Token会被发送到客户端浏览器,并通过HTTP请求携带在请求头中或者以参数的形式传递给其他应用系统。当用户访问其他应用系统时,这些系统会向认证服务器验证Token,如果Token有效,则允许用户访问系统资源。

下面结合古代官员进宫来举例:

1)首次身份验证:想象一个古代的官员需要进入皇宫。他首先来到皇宫的正门(SSO认证服务器),出示自己的官职证明和身份文件(进行身份验证)。

2)颁发令牌:如果身份验证成功,皇宫的守卫(认证服务器)会给他一个特殊的令牌(Token),这个令牌上刻有他的官职、姓名、允许进入的区域以及令牌的有效期。

3)令牌保管:官员将这个令牌小心地保管在身上(Token被发送到客户端浏览器),准备在进入皇宫的不同区域时使用。

4)携带令牌访问:当官员想要进入皇宫的其他区域(访问其他应用系统)时,他会在每次请求进入时,将令牌展示给该区域的守卫(通过HTTP请求头或参数传递Token)。

5)令牌验证:这些区域的守卫会拿着令牌去正门的守卫那里验证(向认证服务器验证Token)。如果令牌上的信息是正确的,并且令牌还没有过期,正门的守卫会确认这个令牌的有效性,并通知其他区域的守卫放行(允许用户访问系统资源)。

6)令牌更新:如果令牌过期了或者官员需要进入更高级别的区域,他可能需要回到正门重新进行身份验证(重新登录),以获得一个新的令牌(新的Token)。

3、身边的案例:

淘宝和天猫是两个典型的电商平台,它们采用了单点登录(SSO)机制,让用户能够方便快捷地在这两个平台间切换而无需重新登录。用户首次登录淘宝,完成登录后,可以在不再输入账号和密码的情况下访问天猫。

1)首次登录: 用户首次访问淘宝网站。在登录页面,用户输入阿里巴巴的统一账户(例如阿里巴巴账号和密码)。

2)SSO认证: 阿里巴巴的SSO系统对用户进行身份验证,验证通过后生成一个令牌(Token)。

3)令牌颁发: 身份验证成功后,SSO系统颁发一个令牌给用户。

4)令牌使用: 用户使用该令牌访问淘宝网站。这个令牌包含有关用户身份的信息。

5)无需重新登录访问天猫: 用户在淘宝登录后,无需重新输入账号和密码,即可直接访问天猫网站。令牌的有效性使用户能够在淘宝和天猫之间实现无缝切换。

4、总结:

总的来说,单点登录通过一次登录即可访问多个相关系统,提高了用户体验、减轻了用户的记忆负担,同时增强了系统的安全性。基于Cookie和基于Token是两种常见的实现方式,前者简单但安全性较低,后者安全性高但实现较为复杂。单点登录的原理在于需要一个独立的认证中心来进行身份验证,并通过令牌实现各个系统之间的无缝切换。前端需要处理登录页面、跳转、Token管理等逻辑。系统间交互通过消息队列和接口调用来实现用户信息的同步更新和授权验证。

5、相关文章:

什么是单点登录?如何实现?_单点登录是什么意思-CSDN博客

深入理解单点登录(SSO):简化用户认证体验_sso token-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从“Hello,World”谈起(C++入门)

前言 c的发展史及c能干什么不能干什么不是我们今天的重点,不在这里展开,有兴趣的朋友可以自行查阅相关资料。今天我们主要是围绕c的入门程序,写一个“hello,world”,并且围绕这个入门程序简单介绍一下c和c的一些语法&…

【fastadmin 开发实战】select 级联选择

先看实现的效果 1、表单页面实现级联选择 2、级联选项后台可以编辑添加 前端代码&#xff08;编辑窗口&#xff09;&#xff1a; <div class"form-group"><label class"control-label col-xs-12 col-sm-2">{:__(渠道归属)}:</label><…

STM32HAL库+ESP8266+cJSON+微信小程序_连接华为云物联网平台

STM32HAL库ESP8266cJSON微信小程序_连接华为云物联网平台 实验使用资源&#xff1a;正点原子F407 USART1&#xff1a;PA9P、A10&#xff08;串口打印调试&#xff09; USART3&#xff1a;PB10、PB11&#xff08;WiFi模块&#xff09; DHT11&#xff1a;PG9&#xff08;采集数据…

推荐3款良心效率软件,妥妥的神器,绝对不可错过

Wise JetSearch Wise JetSearch 是一款免费且功能强大的文件搜索工具&#xff0c;支持在本地硬盘和可移动磁盘上快速查找文件和文件夹。该软件特别适用于FAT32、NTFS以及exFAT格式的硬盘。 Wise JetSearch 使用索引技术&#xff0c;可以在极短的时间内完成大规模文件的搜索任务…

Hadoop3:HDFS-通过配置黑白名单对集群进行扩缩容,并实现数据均衡(实用)

一、集群情况介绍 我的本地虚拟机&#xff0c;一共有三个节点&#xff0c;hadoop102、hadoop103、hadoop104 二、白名单 创建白名单文件whitelist&#xff0c;通过白名单的配置&#xff0c;只允许集群包含102和103两台机器可以存储数据&#xff0c;104无法存储数据。 需求 …

怎样将aac转换mp3格式?推荐四个aac转MP3的方法

怎样将aac转换mp3格式&#xff1f;当需要将aac格式音频转换为MP3格式时&#xff0c;有几种方法可以轻松实现这一目标。MP3是一种广泛支持的音频格式&#xff0c;几乎所有设备和平台都能播放MP3文件&#xff0c;包括各种音乐播放器、手机、平板电脑和汽车音响系统。而且它也提供…

【C++】入门基础(命名空间、缺省参数、函数重载)

目录 一.命名空间&#xff1a;namespace 1.namespace的价值 2.namespace的定义 3.namespace的使用方法 3.1 域解析运算符:: 3.2 using展开 3.3 using域解析运算符 二.输入输出 三.缺省参数 四.函数重载 1.参数类型不同 2.参数个数不同 3.参数顺序不同 一.命名空间&…

分析逆向案例十七——深圳大学登录逆向(新类型,有些加密参数是通过页面源代码获取的,不同于前面有发包)

网址&#xff1a;aHR0cDovL25ld2F1dGhzZXJ2ZXIuc3p1LmVkdS5jbi9hdXRoc2VydmVyL2xvZ2lu 登陆页面&#xff0c;找到登录接口&#xff0c;发现登录接口是document类型&#xff0c;而不是xhr类型&#xff0c;无法跟栈分析。 登陆两次&#xff0c;发现有两个加密参数&#xff0c;lt…

君方智能设计平台-夹点交互编辑架设计与实现

1.背景介绍 在图形平台开发中&#xff0c;实现强大的图形编辑功能对于用户体验至关重要。夹点&#xff08;Grips&#xff09;编辑是其中的一个关键部分&#xff0c;它不仅简化了用户与图形对象的交互&#xff0c;还提供了多种功能&#xff0c;从简单的移动和缩放到复杂的旋转和…

JS爬虫实战之极验四代

极验四代滑块验证码 一、目标网站说明二、流程步骤1. 逆向步骤一般分为&#xff1a;2. 接口确认1- 确认流程2- 获取verify的参数3- 构建requests验证verify的参数4- 锁定secode参数的作用 ok&#xff0c;让我们去获取verify接口中的响应&#xff01;&#xff01;&#xff01; 3…

风光摄影:相机设置和镜头选择

写在前面 博文内容为《斯科特凯尔比的风光摄影手册》读书笔记整理涉及在风景拍摄中一些相机设置&#xff0c;镜头选择的建议对小白来讲很实用&#xff0c;避免拍摄一些过曝或者过暗的风景照片理解不足小伙伴帮忙指正 &#x1f603;,生活加油 99%的焦虑都来自于虚度时间和没有好…

240712_昇思学习打卡-Day24-LSTM+CRF序列标注(3)

240712_昇思学习打卡-Day24-LSTMCRF序列标注&#xff08;3&#xff09; 今天做LSTMCRF序列标注第三部分&#xff0c;同样&#xff0c;仅作简单记录及注释&#xff0c;最近确实太忙了。 Viterbi算法 在完成前向训练部分后&#xff0c;需要实现解码部分。这里我们选择适合求解…

【Linux】进程间通信——消息队列和信号量

目录 消息队列&#xff08;message queue&#xff09; 信号量&#xff08;Semaphore&#xff09; system V版本的进程间通信方式有三种&#xff1a;共享内存&#xff0c;消息队列和信号量。之前我们已经说了共享内存&#xff0c;那么我们来看一下消息队列和信号量以及它们之间…

Docker容器的生命周期

引言 Docker 容器作为一种轻量级虚拟化技术&#xff0c;在现代应用开发和部署中扮演着重要角色。理解容器的生命周期对于有效地管理和运维容器化应用至关重要。本文将深入探讨 Docker 容器的生命周期&#xff0c;从创建到销毁的各个阶段&#xff0c;帮助读者更好地掌握容器管理…

Unity最新第三方开源插件《Stateful Component》管理中大型项目MonoBehaviour各种序列化字段 ,的高级解决方案

上文提到了UIState, ObjectRefactor等,还提到了远古的NGUI, KBEngine-UI等 这个算是比较新的解决方法吧,但是抽象出来,问题还是这些个问题 所以你就说做游戏是不是先要解决这些问题? 而不是高大上的UiImage,DoozyUI等 Mono管理引用基本用法 ① 添加Stateful Component …

【正点原子i.MX93开发板试用连载体验】录音小程序采集语料

本文最早发表于电子发烧友论坛&#xff1a;【新提醒】【正点原子i.MX93开发板试用连载体验】基于深度学习的语音本地控制 - 正点原子学习小组 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com) 接下来就是要尝试训练中文提示词。首先要进行语料采集&#xff0c;这是一…

【2-1:RPC设计】

RPC 1. 基础1.1 定义&特点1.2 具体实现框架1.3 应用场景2. RPC的关键技术点&一次调用rpc流程2.1 RPC流程流程两个网络模块如何连接的呢?其它特性RPC优势2.2 序列化技术序列化方式PRC如何选择序列化框架考虑因素2.3 应用层的通信协议-http2.3.1 基础概念大多数RPC大多自…

STM32Cubemx配置生成 Keil AC6支持代码

文章目录 一、前言二、AC 6配置2.1 ARM ComPiler 选择AC62.2 AC6 UTF-8的编译命令会报错 三、STM32Cubemx 配置3.1 找到stm32cubemx的模板位置3.2 替换文件内核文件3.3 修改 cmsis_os.c文件3.4 修改本地 四、编译对比 一、前言 使用keil ARM compiler V5的时候&#xff0c;编译…

M J更改图像生成方式的参数选项

一个完整的/imagine命令可能包含几个内容,例如图像 URL、图像权重、算法版本和其他开关。 /imagine参数应遵循以下顺序: /imagine prompt: https://example/tulip.jpg a field of tulips in the style of Mary Blair --no farms --iw .5 --ar 3:2 在这种情况下,“开关”是指…

如何压缩pdf文件大小,怎么压缩pdf文件大小

在数字化时代&#xff0c;pdf文件因其稳定的格式和跨平台兼容性&#xff0c;成为了工作与学习中不可或缺的一部分。然而&#xff0c;随着pdf文件内容的丰富&#xff0c;pdf文件的体积也随之增大&#xff0c;给传输和存储带来了不少挑战。本文将深入探讨如何高效压缩pdf文件大小…