10.3. 与 SAML 相比的 OpenID Connect
下表列出了在选择协议时需要考虑的几个因素。
在大多数情况下,红帽构建的 Keycloak 建议使用 OIDC。
OIDC
- OIDC 是专门设计用于 Web 的。
- OIDC 适用于 HTML5/JavaScript 应用程序,因为它比 SAML 更容易在客户端中实施。
- OIDC 令牌采用 JSON 格式,使 Javascript 更易于使用。
- OIDC 具有使安全实施更容易的功能。例如,请参阅规范用来确定用户登录状态的 iframe trick。
SAML
- SAML 设计为在 Web 之上工作的层。
- SAML 比 OIDC 更详细。
- 用户选择 SAML 而非 OIDC,因为存在一种问题成熟。
- 用户选择 SAML over OIDC 现有应用程序使用它被保护。