单点登录系统原理(架构+方案+流程)

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

单点登录系统

单点登录(Single Sign-On,SSO),旨在为用户在多个应用或服务间提供一次认证、统一访问的身份验证体验。

单点登录系统原理(架构+方案+流程)-mikechen

其核心目标是提升用户体验、降低重复认证成本并集中管理身份与权限。

SSO 常用于企业环境(如内部办公系统)、云服务和互联网平台(如:阿里、天猫、淘宝…等等)。

其核心目标:是简化访问控制,同时确保安全合规。

 

单点登录系统原理

单点登录的本质:是建立一个独立的认证中心(CAS/SSO Server)。

并让各个子系统,信任该中心发放的令牌(Ticket/Token)。

整体架构,如下图所示:

单点登录系统原理(架构+方案+流程)-mikechen

CAS Server

CAS Server 作为中央认证机构,负责用户身份验证与会话管理。

用户首次访问受保护资源时,CAS Server 提供统一的登录页面并验证凭证(如用户名/密码、二次认证等)。

验证成功后,CAS Server 生成票据(ticket)或令牌。

并记录相应会话信息,确保后续请求能够被识别与校验。

CAS Client

CAS Client 部署在各个受保护的应用或服务端,负责与 CAS Server 进行交互以完成认证流程。

客户端在检测到未认证请求时,会将用户重定向到 CAS Server 登录。

用户完成认证并携带票据返回后,CAS Client 向 CAS Server 验证该票据的有效性,进而建立本地会话并允许访问受保护资源。

用户浏览器

用户浏览器,承担传递认证信息与会话标识的角色。

浏览器在用户与应用、CAS Server 之间进行重定向。

携带票据或会话 Cookie,完成认证的跳转与回传。

 

单点登录系统流程

整体流程,如下:

单点登录系统原理(架构+方案+流程)-mikechen

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年+一线大厂架构实战经验,就职于阿里、淘宝等一线大厂,操盘多个亿级大厂核心项目。

评论交流
    说说你的看法