单点登录(SSO)允许用户通过一次登录访问多个相互信任的系统,提升用户体验和安全性。以下是几种常见的实现方式及其流程:
1. 基于 Cookie 的 SSO(共享会话)
适用场景
同一主域下的子域系统(如 a.example.com
和 b.example.com
)。
流程
-
用户访问系统 A
-
系统 A 检查是否存在有效的会话 Cookie。
-
若无,重定向到 SSO 登录页。
-
-
登录验证
-
用户在 SSO 页面输入凭证,验证通过后生成加密的父域 Cookie(如
.example.com
)。
-
-
访问系统 B
-
用户访问系统 B 时,浏览器自动携带父域 Cookie。
-
系统 B 向 SSO 服务器验证 Cookie 有效性,通过后建立本地会话。
-
优点
-
实现简单,依赖浏览器自动传递 Cookie。
缺点
-
仅限同域或子域,存在跨域限制。
-
安全性依赖 Cookie 加密和 HTTPS。
</