单点登录系统详解(图文全面总结)

分布式是大型架构的核心,下面我重点详解单点登录系统@mikechen

单点登录

单点登录(SSO),是一种在多个系统之间共享登录状态的用户认证机制。

用户只需在一个系统中登录一次,就能在同一体系下的其他系统中自动获得访问权限,无需重复登录。

比如:阿里有庞大且相互独立的子业务系统,比如:淘宝、天猫、支付宝、阿里云、钉钉等。

单点登录系统详解(图文全面总结)

在这些平台上,用户最直观的体验就是:在淘宝登录后,切换到天猫或阿里云时,无需再次输入密码。

这背后的技术,就是单点登录。

 

单点登录原理

在单点登录(SSO)体系中,整体架构如下:

单点登录系统详解(图文全面总结)

构通常由 认证中心(SSO Server)、业务系统(Client Systems) 和 用户中心(User Center) 三个核心模块构成。

(1)认证中心(SSO Server)

认证中心是单点登录系统的核心,负责统一的用户认证与令牌管理。

它相当于整个系统的“身份中枢”,主要职责包括:

负责统一认证、签发与验证Token;

提供登录、登出、刷新Token等接口;

管理全局会话与信任关系。

(2)业务系统(Client Systems)

业务系统是最终为用户提供服务的各个独立应用(如:OA、CRM、ERP、BI等)。

它们通过与认证中心交互,完成自身登录状态的同步与校验。

(3)用户中心(User Center)

用户中心是整个SSO体系的用户数据管理核心,是认证的基础支撑模块。

主要职责包括:

存储用户账号信息;

供认证中心统一管理、查询与授权。

单点登录工作流程

大致流程,如下:

单点登录系统详解(图文全面总结)

① 用户访问系统A → 未登录 → 跳转认证中心;

② 用户登录成功 → 认证中心签发Token(或Ticket);

③ 系统A验证Token → 创建本地Session;

④ 用户访问系统B → 携带Token → 系统B向认证中心验证;

⑤ 验证通过 → 系统B创建Session → 单点登录生效。

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