单点登录总结速通

单点登录的本质是:所有业务系统不保存登录状态,只负责跳转到同一个身份认证中心(IdP);浏览器只会在访问该认证中心域名时自动携带其下发的 HttpOnly Cookie,认证中心据此判断用户已登录并返回授权凭证,从而实现一次登录、多系统免登录。

分为a网站,b网站,登录a的时候就会跳转到idp,登录成功之后返回HTTP/1.1 302 Found
Set-Cookie: auth_session=abcd1234;
Domain=auth.com;
Path=/;
HttpOnly;
Secure;
SameSite=Lax;
Max-Age=3600
Location: https://a.com/callback?code=AUTH_CODE_ABC,,,这个会自动把cookie存在浏览器里面,不是前端缓存cookie,前端看不到也不会清楚,并且会写到一次性code换取token,如果跳转b系统,关键的来了,也会首先跳转到idp网站但是会自动携带cookie,idp一查你登陆过给个直接给个code换取token就能无感登录,还有个问题就是为什么会自动携带cookie,就是成功之后返回的cookie对应上的网站是吧只要去那个网站都会带上,这个就是浏览器自己干的,那要是其他不相关的网站也调到这个idf也会被带上吗?现实中的 SSO 一定有一个"客户端管理系统",
用来登记、维护、控制哪些系统可以接入单点登录。

如果没有这个"登记系统":

  • 任何网站都能拿到 code

  • code 可以换 token

  • = 登录态被劫持 暂时就这些后续有新理解会更新

相关推荐
梦帮科技1 小时前
Node.js配置生成器CLI工具开发实战
前端·人工智能·windows·前端框架·node.js·json
VT.馒头2 小时前
【力扣】2695. 包装数组
前端·javascript·算法·leetcode·职场和发展·typescript
css趣多多2 小时前
一个UI内置组件el-scrollbar
前端·javascript·vue.js
C澒2 小时前
前端整洁架构(Clean Architecture)实战解析:从理论到 Todo 项目落地
前端·架构·系统架构·前端框架
C澒2 小时前
Remesh 框架详解:基于 CQRS 的前端领域驱动设计方案
前端·架构·前端框架·状态模式
Charlie_lll2 小时前
学习Three.js–雪花
前端·three.js
onebyte8bits3 小时前
前端国际化(i18n)体系设计与工程化落地
前端·国际化·i18n·工程化
C澒3 小时前
前端分层架构实战:DDD 与 Clean Architecture 在大型业务系统中的落地路径与项目实践
前端·架构·系统架构·前端框架
BestSongC3 小时前
行人摔倒检测系统 - 前端文档(1)
前端·人工智能·目标检测
0思必得03 小时前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化