SAML 2.0 Web 浏览器单点登录
SAML Web 浏览器单点登录 (SSO) 允许 Web 应用程序将用户认证授权给 SAML 身份提供者(而不是所配置的用户注册表)。
安全性断言标记语言 (SAML) 是一项 OASIS 开放式标准,用于表示和交换用户身份、认证和属性信息。SAML 断言是一种 XML 格式的令牌,用于在单点登录请求的完成过程中将用户的身份提供者中的用户身份和属性信息传输至可信服务提供者。SAML 断言提供了一种在联合业务合作伙伴之间传输信息的方法,此方法与供应商无关。通过使用 SAML,企业服务提供者可联系另一企业身份提供者以认证尝试访问安全内容的用户。
WebSphere® Application Server Liberty 支持带有 HTTP 发布绑定的 SAML Web 浏览器单点登录概要文件并充当 SAML 服务提供者。Web 用户向产生 SAML 断言的 SAML 身份提供者认证,WebSphere SAML 服务提供者使用此 SAML 断言对 Web 用户建立安全上下文。
SAML Web SSO 流程包含三个参与者:最终用户、身份提供者 (IdP) 和服务提供者 (SP)。此用户始终向 IdP 认证,SP 依赖于 IdP 断言来标识该用户。
图 1. Web 单点登录中的关键概念


Liberty SAML Web 浏览器 SSO 方案
图 2. 方案 1:SP 启动的请求式 Web SSO(最终用户在 SP 上启动)

- 最终用户访问 SP。
- SP 将用户重定向至 IdP。
- 最终用户向 IdP 认证。
- IdP 将 SAML 响应和断言发送至 SP。
- SP 验证 SAML 响应并对用户请求授权。
图 3. 方案 2:IdP 启动的非请求式 Web SSO(最终用户在 IdP 上启动)

- 用户代理访问 SAML IdP。
- IdP 认证用户并发出 SAML 断言。
- IdP 将用户重定向至 SP 并产生 SAMLResponse。
- SP 验证 SAML 响应并对用户请求授权。
图 4. 方案 3:OpenID Connect 提供程序和 SAML 服务提供者

- 最终用户访问 OpenID Connect 依赖方 (RP)。
- RP 将最终用户重定向至 OpenID Connect 提供程序 (OP)。
- OP(又称为 SAML SP)将最终用户重定向至 SAML IdP。
- 最终用户向 SAML IdP 认证。
- IdP 将最终用户重定向至 OP 或 SP 并产生 SAMLResponse。
- OP/SP 验证 SAML,并将授权代码发送至 RP。
- RP 针对 id_token 和 access_token 交换代码。
- RP 验证 id_token 并向最终用户授权。