单点登录是是什么?具体流程是什么?

SSO⼀般都需要⼀个独⽴的认证中⼼(passport),⼦系统的登录均得通过passport,⼦系统本⾝将不参与登录操作,当⼀个系统成功登录以后,passport将会颁发⼀个令牌给各个⼦系统,⼦系统可以拿着令牌会获取各⾃的受保护资源,为了减少频繁认证,各个⼦系统在被passport授权以后,会建⽴⼀个局部会话,在⼀定时间内可以⽆需再次向passport发起认证。

具体流程是:

  1. 用户访问系统1的受保护资源,系统1发现用户未登录,跳转⾄sso认证中⼼,并将⾃⼰的地址作 为参数
  2. sso认证中⼼发现用户未登录,将用户引导⾄登录⻚⾯
  3. 用户输⼊用户名密码提交登录申请
  4. sso认证中⼼校验用户信息,创建用户与sso认证中⼼之间的会话,称为全局会话,同时创建授权令牌
  5. sso认证中⼼带着令牌跳转会最初的请求地址(系统1)
  6. 系统1拿到令牌,去sso认证中⼼校验令牌是否有效
  7. sso认证中⼼校验令牌,返回有效,注册系统1
  8. 系统1使⽤该令牌创建与用户的会话,称为局部会话,返回受保护资源
  9. 用户访问系统2的受保护资源
  10. 系统2发现用户未登录,跳转⾄sso认证中⼼,并将⾃⼰的地址作为参数
  11. sso认证中⼼发现用户已登录,跳转回系统2的地址,并附上令牌
  12. 系统2拿到令牌,去sso认证中⼼校验令牌是否有效
  13. sso认证中⼼校验令牌,返回有效,注册系统2
  14. 系统2使⽤该令牌创建与用户的局部会话,返回受保护资源
相关推荐
希望永不加班22 分钟前
SpringBoot 过滤器(Filter)与请求链路梳理
java·spring boot·后端·spring
sunny_22 分钟前
💥 Claude Code 源码泄露?我把这个最强 AI Coding Agent 的架构扒干净了
前端·agent·claude
Lyyaoo.25 分钟前
【JAVA基础面经】抽象类/方法与接口
java·开发语言
西洼工作室27 分钟前
React轮播图优化:通过延迟 + 动画的组合,彻底消除视觉上的闪烁感
前端·react.js·前端框架
0xDevNull28 分钟前
Java实现Redis延迟队列:从原理到高可用架构
java·开发语言·后端
于先生吖33 分钟前
无人共享健身房 Java 后端源码 + 多端对接完整方案
java·开发语言
yaaakaaang36 分钟前
(八)前端,如此简单!---五组结构
前端·javascript
恼书:-(空寄38 分钟前
Spring 事务失效的 8 大场景 + 原因 + 解决方案
java·后端·spring
我是若尘40 分钟前
我的需求代码被主干 revert 了,接下来我该怎么操作?
前端·后端·代码规范
魁首1 小时前
Claude Code 源码泄露的背后,到底与Codex,Gemini 有啥不一样?
前端·openai·claude