单点登录总结速通

单点登录的本质是:所有业务系统不保存登录状态,只负责跳转到同一个身份认证中心(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

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

相关推荐
后台开发者Ethan31 分钟前
setState组件更新
前端·javascript·react
谙忆102437 分钟前
大文件上传实战:前端分片、断点续传、秒传与并发控制怎么落地
前端
轻动琴弦1 小时前
VoltTool —— 一站式在线开发者工具平台,69+实用工具免费使用
前端·chrome
就叫飞六吧1 小时前
不同站点iframe嵌套种cookie、localstorege.set() 关系
前端
星栈1 小时前
LiveView 怎么测:从组件测试到端到端,我终于不再只敢手点页面了
前端·前端框架·elixir
蜡台1 小时前
uniapp vue2 转 vue3
前端·javascript·uni-app·vue3·vue2
Web4Browser1 小时前
Headless 浏览器自动化适合哪些任务?巡检、截图和提交动作要分级
运维·前端·自动化
用户059540174461 小时前
把前端内存泄漏排查从2小时压到5分钟,我们把它集成进了CI
前端·css
IMPYLH2 小时前
HTML 的 <dd> 元素
前端·html
申君健24864182772022 小时前
Vapor 核心数据结构:Block原理
前端