SSO单点登录系统详解(原理+架构+流程)

分布式是大型架构基石,下面我详解SSO单点登录系统@mikechen

单点登录系统

SSO单点登录系统详解(原理+架构+流程)

单点登录(Single Sign-On,简称SSO):是一种认证机制。

旨在使用户在一次身份验证后,能够无缝访问多个相互信任的应用系统。

SSO 提高了用户体验、降低了凭证管理成本,同时便于安全审计与集中控制。

 

单点登录系统原理

一套完整的 SSO 系统,通常包含以下三个角色:

SSO单点登录系统详解(原理+架构+流程)

1️⃣ User(用户)

持有合法身份凭证的访问者,登录行为的发起者。

用户通过浏览器或移动端 App 作为载体。

它并不直接参与逻辑运算,但负责携带和传递凭证(如 Cookie, Token)。

状态存储:在浏览器场景下,用户端存储着 sso.com 的全局会话(TGC)和 app.com 的局部会话。

 

2️⃣ Web / App Server

实际提供业务资源的系统,不直接保存用户主凭证。

完全信任 SSO Server 的认证结果。

核心职责

判断当前请求是否已登录;

将未登录用户 重定向到 SSO Server;

校验 SSO Server 颁发的凭证。

 

3️⃣ SSO Server(认证中心)

全局唯一的身份认证权威,所有登录、校验、注销的唯一入口。

完整职责

用户身份认证(用户名、密码、MFA);

生成全局登录态(SSO Session);

签发凭证(Ticket / Token);

校验凭证合法性;

统一注销(Single Logout)。

 

单点登录系统流程

SSO单点登录系统详解(原理+架构+流程)

1. 用户访问 A 系统 /order (无票据)。
2. A系统重定向 → SSO Server?redirect_uri=A/order。
3. SSO检查全局Cookie,无会话 → 登录页。
4. 用户输入账号密码 → SSO验证 → 创建全局Session → 重定向回A + 票据ST。
5. A系统用ST向SSO换取用户信息 → 建立本地会话 → 返回 /order 页面。
6. 用户访问B系统 → B用相同全局Cookie直接通过。

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧