分布式是大型架构基石,下面我详解单点登录系统原理@mikechen
单点登录系统
单点登录(Single Sign-On,SSO),旨在为用户在多个应用或服务间提供一次认证、统一访问的身份验证体验。

其核心目标是提升用户体验、降低重复认证成本并集中管理身份与权限。
SSO 常用于企业环境(如内部办公系统)、云服务和互联网平台(如:阿里、天猫、淘宝…等等)。
其核心目标:是简化访问控制,同时确保安全合规。
单点登录系统原理
单点登录的本质:是建立一个独立的认证中心(CAS/SSO Server)。
并让各个子系统,信任该中心发放的令牌(Ticket/Token)。
整体架构,如下图所示:

CAS Server
CAS Server 作为中央认证机构,负责用户身份验证与会话管理。
用户首次访问受保护资源时,CAS Server 提供统一的登录页面并验证凭证(如用户名/密码、二次认证等)。
验证成功后,CAS Server 生成票据(ticket)或令牌。
并记录相应会话信息,确保后续请求能够被识别与校验。
CAS Client
CAS Client 部署在各个受保护的应用或服务端,负责与 CAS Server 进行交互以完成认证流程。
客户端在检测到未认证请求时,会将用户重定向到 CAS Server 登录。
用户完成认证并携带票据返回后,CAS Client 向 CAS Server 验证该票据的有效性,进而建立本地会话并允许访问受保护资源。
用户浏览器
用户浏览器,承担传递认证信息与会话标识的角色。
浏览器在用户与应用、CAS Server 之间进行重定向。
携带票据或会话 Cookie,完成认证的跳转与回传。
单点登录系统流程
整体流程,如下:

Step 1:访问业务系统(CAS Client)
Step 2:重定向到 CAS Server
CAS Client 将浏览器重定向到 CAS Server;
携带 service 参数(回调地址);
Step 3:CAS Server 认证用户;
Step 4:颁发 Service Ticket(ST),重定向浏览器回系统 A。
mikechen睿哥
10年+一线大厂架构实战经验,就职于阿里、淘宝等一线大厂,操盘多个亿级大厂核心项目。