SAML 2.0 或 OpenId Connect 哪个 SSO 策略更安全?

Which SSO strategy is more secure SAML 2.0 or OpenId Connect?

我想使用单点登录,但在阅读了这么多关于这两种(Saml 2.0 和 OIDC)标准的文章后,我完全不知道该用什么。我对它们的工作原理有一个基本的了解,但不确定哪个在安全性方面最好。

我的具体疑问是 openid-connect 的混合流不太安全,因为它发送 id_token 和 access_token 以及 auth_code,这可以将这些令牌暴露给用户代理。混合流程一般用于SSO(单点登录)。

在 SSO 的情况下,OIDC 是否与 SAML 一样强大?

OpenID Connect 更现代,支持更多场景。 SAML2 较旧,在各种平台和云产品上得到更广泛的支持。

对于任何新事物,我都会选择 OpenID Connect。

在任何情况下,我都建议您使用现有的软件堆栈作为您使用的任何替代方案。编写正确的 SAML2 或 OpenID Connect 实现是 困难

完全同意@anders 和@Hans - 不要自己动手。

我不认为一个比另一个更不安全。

OIDC / OAuth 有四个主要流程,其中一些比其他流程更安全 - 资源所有者密码可能是最不安全的。

Facebook / Google / Twitter 等都使用 OIDC。

Saleforce / Workday 等都使用 SAML。

如果协议不安全,他们不会这样做。

可能更好的问题是哪一个最适合您的用例。