10.3. OpenID Connect 与 SAML 相比
下面列出了在选择协议时要考虑的多个因素。
在大多数情况下,红帽构建的 Keycloak 建议使用 OIDC。
OIDC
- OIDC 专门设计用于 Web。
- OIDC 适用于 HTML5/JavaScript 应用程序,因为比 SAML 更容易在客户端实现。
- OIDC 令牌采用 JSON 格式,使其更易于使用 Javascript。
- OIDC 具有一些功能,可以更轻松地进行安全实施。例如,请参阅规格用来确定用户登录状态的 iframe 欺骗。
SAML
- SAML 设计为在 Web 之上工作的层。
- SAML 比 OIDC 更加详细。
- 用户通过 OIDC 选择了 SAML,因为存在非常成熟。
- 用户在 OIDC 间选择带有保护它的现有应用程序。