单点登录最全详解(原理+架构+流程)

分布式是大型架构核心,下面我就全面详解单点登录@mikechen

单点登录

单点登录(Single Sign-On,SSO):是互联网、大型企业、微服务架构中最常见的统一身份认证方案。

单点登录最全详解(原理+架构+流程)-mikechen

单点登录,是一种身份认证机制,它的核心目标是:用户只需要登录一次,即可访问多个相互信任的系统。

 

 

SSO单点登录原理

单点登录,通常包含以下三个核心组件:

单点登录最全详解(原理+架构+流程)-mikechen

               ┌────────────────┐
               │     Browser    │
               └────────┬───────┘
                        │
                        ▼
             ┌──────────────────┐
             │    CAS Server    │
             │ 认证中心/票据中心 │
             └────────┬─────────┘
                      │
     ┌────────────────┼────────────────┐
     │                │                │
     ▼                ▼                ▼

OA系统(CAS Client) CRM系统      ERP系统

1. CAS Server

CAS Server 是整个单点登录体系的核心,所有身份认证最终都要经过它。

CAS Server 是统一认证服务器,也可以理解为“登录中心”。

它负责:

接收用户登录请求;

校验用户名和密码;

生成并管理认证票据(Ticket);

向各业务系统提供统一的登录结果。

2. CAS Client

CAS Client: 是部署在各业务系统中的客户端组件。

它负责:

拦截未登录请求;

将用户引导至 CAS Server 登录;

接收并校验 CAS Server 返回的票据。

3. 浏览器

浏览器:是用户与系统交互的载体。

可以说,浏览器是单点登录流程中“信息流转”的关键媒介。

 

单点登录流程

完整流程,如下:

单点登录最全详解(原理+架构+流程)-mikechen

步骤 名称 详细说明
1 访问服务 用户访问 CAS Client 受保护资源 ;
2 定向认证 Client 检测到未登录,重定向到 CAS Server ;
3 用户认证 用户在 CAS Server 登录页输入凭据,Server 验证身份 ;
4 发放票据 验证成功后,CAS Server 生成随机 Service Ticket (ST) 并重定向回 Client ;
5 验证票据 Client 携带 ST 向 CAS Server 验证,验证通过后允许访问服务 。

评论交流
    说说你的看法