单点登录系统设计(架构+原理+案例)

单点登录是大型架构必备,下面我详解单点登录系统设计@mikechen

单点登录系统

单点登录(Single Sign-On,SSO),旨在为分布式应用环境提供统一认证入口。

单点登录系统设计(架构+原理+案例)-mikechen

核心价值:

统一身份认证;

降低用户操作成本;

集中安全控制;

支撑多系统、多端(Web / App / 小程序)。

单点登录系统设计

SSO 的核心架构,通常由身份提供者、服务提供者等若干关键部分构成。

单点登录系统设计,如下图所示:

单点登录系统设计(架构+原理+案例)-mikechen

SSO 认证中心(Auth Server)

统一登录、身份校验、凭证签发。

用户端(Browser / App)

发起登录请求,携带 Cookie / Token

接入层 / 网关(Nginx / Gateway)

统一入口,登录态拦截与转发

整体流程,如下:

用户请求系统A
   ↓
系统A发现未登录
   ↓
跳转 SSO 登录页
   ↓
SSO 校验账号密码
   ↓
生成 Token / Ticket
   ↓
回跳系统A
   ↓
系统A校验凭证
   ↓
建立本地会话

 

单点登录系统案例

单点登录系统设计(架构+原理+案例)-mikechen

企业内网SSO(基于SAML)

场景:大型企业将若干内部应用接入统一身份平台。

优势为成熟的安全性与企业整合;需做好证书与Assertion生命周期管理。

云服务与API生态(基于OIDC+OAuth2)

场景:面向移动端与微服务的云平台。

移动App通过OIDC完成交互式登录,后端微服务验证Access Token并调用资源服务器。

优势为轻量、跨平台、便于授权粒度控制。

单页面应用(SPA)与共享会话(Cookie+认证网关)

场景:多个前端子域名的SPA共享登录态。

实施:在统一域下通过认证网关处理登录请求,设置跨子域的安全Cookie,或采用中央Token交换机制。

mikechen睿哥

10年+一线大厂架构实战专家,就职于阿里、淘宝等一线大厂,操盘多个亿级大厂核心项目。

评论交流
    说说你的看法