单点登录总结速通

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

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

相关推荐
四眼肥鱼几秒前
flutter 利用flutter_libserialport 实现SQ800 串口通信
前端·flutter
ZFSS1 分钟前
OpenAI Images Edits API 申请及使用
前端·人工智能
Lee川13 分钟前
从零构建AI对话应用:Vite脚手架搭建与API密钥安全实践
前端·程序员
允许部分打工人先富起来15 分钟前
在node项目中执行python脚本
前端·python·node.js
钟智强15 分钟前
Flutter引擎Android平台JNI层未验证指针转换漏洞
前端
骑着小黑马20 分钟前
Electron + Vue3 + AI 做了一个新闻生成器:从 0 到 1 的完整实战记录
前端·人工智能
Sailing21 分钟前
LLM 调用从 60s 卡死降到 3s!彻底绕过 tiktoken 网络阻塞(LangChain.js 必看)
前端·langchain·llm
洋洋技术笔记22 分钟前
计算属性与侦听器
前端·vue.js
用户8144869581122 分钟前
“马上”有惊喜:在 Rokid 灵珠平台上构建 FPS 级 AR 红包雷达应用
前端
李剑一28 分钟前
拿来就用!Vue3+Cesium 飞入效果封装,3D大屏多场景直接复用
前端·vue.js·cesium