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