| SSO 方式 | 复杂度 | 开发量 | 适用场景 |
|---|---|---|---|
| 简易 SSO | ⭐ | 极低 | 内部应用、快速对接 |
| OAuth 2.0 | ⭐⭐⭐ | 中等 | 公开应用、需精细授权 |
| SAML | ⭐⭐⭐⭐ | 较高 | 企业级跨域联邦认证 |
| CAS | ⭐⭐⭐ | 中等 | 传统企业 CAS Server 已有场景 |
零信任网关
┌─────────────────┐
① 用户通过零信任门户 │ 1. SSL 终止 │
完成身份认证 │ 2. 身份校验 │
│ │ 3. Header 注入 │
▼ └───────┬─────────┘
┌──────────┐ ② 已认证请求 ③ 注入 SSO Header
│ 用户浏览器 │ ──────────────────────► ─────────────────► ┌──────────┐
└──────────┘ (经过网关) │ 业务系统 │
└──────────┘
④ 校验 Header
⑤ 自动登录
⑥ 建立会话用户浏览器 零信任网关 业务系统后端
│ │ │
│ 1. 访问应用域名 │ │
│ ─────────────────────► │ │
│ │ │
│ 2. 未认证,跳转门户登录 │ │
│ ◄───────────────────── │ │
│ │ │
│ 3. 用户完成门户认证 │ │
│ ─────────────────────► │ │
│ │ │
│ 4. 建立信任会话 │ │
│ ◄───────────────────── │ │
│ │ │
│ 5. 再次访问应用 │ │
│ ─────────────────────► │ │
│ │ 6. 注入 SSO Header │
│ │ 转发给后端 │
│ │ ─────────────────────► │
│ │ │ 7. 解析 Header
│ │ │ 8. 校验签名
│ │ │ 9. 校验可信 IP
│ │ │ 10. 查找/创建用户
│ │ │ 11. 建立本地会话
│ │ 12. 返回响应 │
│ ◄─────────────────────────────────────────────────│
│ │ │
│ 13. 后续请求使用本地会话 │ │
│ ─────────────────────► │ ─────────────────────► │ (会话优先,不走SSO)| 优先级 | 认证方式 | 触发条件 |
|---|---|---|
| 1️⃣ | 本地会话(JWT/Session) | 请求携带有效的会话凭证 |
| 2️⃣ | 简易 SSO | 无本地会话且请求含 SSO Header |
| 3️⃣ | 其他认证方式 | API Key、LDAP 等 |
💡 关键设计:本地会话优先于 SSO。SSO 首次认证通过并建立本地会话后,后续请求走本地会话快速通道,不再重复校验 SSO Header,以减少性能开销。