单点登录总结速通

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

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

相关推荐
梦梦代码精21 小时前
开源、免费、可商用:BuildingAI一站式体验报告
开发语言·前端·数据结构·人工智能·后端·开源·知识图谱
0思必得021 小时前
[Web自动化] Selenium执行JavaScript语句
前端·javascript·爬虫·python·selenium·自动化
程序员敲代码吗21 小时前
MDN全面接入Deno兼容性数据:现代Web开发的“一张图”方案
前端
0思必得021 小时前
[Web自动化] Selenium截图
前端·爬虫·python·selenium·自动化
疯子****1 天前
【无标题】
前端·clawdbot
RichardLau_Cx1 天前
【保姆级实操】MediaPipe SDK/API 前端项目接入指南(Web版,可直接复制代码)
前端·vue·react·webassembly·mediapipe·手部追踪·前端计算机视觉
不爱写程序的东方不败1 天前
APP接口测试流程实战Posman+Fiddler
前端·测试工具·fiddler
晚霞的不甘1 天前
Flutter for OpenHarmony构建全功能视差侧滑菜单系统:从动效设计到多页面导航的完整实践
前端·学习·flutter·microsoft·前端框架·交互
黎子越1 天前
python相关练习
java·前端·python
北极糊的狐1 天前
若依项目vue前端启动键入npm run dev 报错:不是内部或外部命令,也不是可运行的程序或批处理文件。
前端·javascript·vue.js