似乎 Microsoft ADFSv2 支持 WS-Trust 和 SAML Passive,但它所构建的 WIF 堆栈不支持 SAML。
WS-Trust 和 SAML-P 有什么区别?它们是否具有相同的安全漏洞,如果是,它们是什么?
注意:这里有一个类似但不同的问题:
似乎 Microsoft ADFSv2 支持 WS-Trust 和 SAML Passive,但它所构建的 WIF 堆栈不支持 SAML。
WS-Trust 和 SAML-P 有什么区别?它们是否具有相同的安全漏洞,如果是,它们是什么?
注意:这里有一个类似但不同的问题:
我假设您指的是 [新发布的] ADFS v2?
是的,ADFS v2 支持 WS-Trust(和 WS-Federation)和 SAML2 被动,而 WIF 仅支持 WS-Trust(和 WS-Federation)而不支持 SAML2(既不被动也不主动)。
WS-Federation 使用 WS-Trust 来执行 [基于浏览器的] 被动联合,并且在很多方面类似于 SAML2 被动 - 在很多方面都不是。WS-Federation 和 SAML2 被动之间的一个显着区别是 WS-Federation v1.1(ADFS v2 支持的新版本)支持自动元数据发现。您只需要在 WS-Federation 中提供一个元数据端点(一个 URL),而在 SAML 中您必须通过某些选择的方法(USB 记忆棒、邮件等)交换元数据文档。
我不知道这两种协议中的任何实际安全漏洞,但元数据交换的方法可以永远争论不休。WS-Federation 方法使许多事情变得更容易,例如证书翻转、自动更新、“免费”自动供应联盟中的新成员等。但是,SAML2 中的“手动”交换过程至少可以理论上更安全。
至于为什么 WIF 中不包含 SAML 支持,我只能推测。一个不错的猜测可能是有人希望使用 WIF 的站点与 ADFS 联合,而不是直接与其他一些 [第三方] IdP 联合 :-)
来自The SSO Academy,很简单的区别,
许多人对 SAML、OpenID 和 OAuth 之间的区别感到困惑,但实际上它非常简单。虽然有一些重叠,但这里有一个非常简单的区分这三者的方法。
OpenID – single sign-on for consumers SAML – single sign-on for enterprise users OAuth – API authorization between applications
2015 年更新和更正的答案
定义:
身份验证
OIDC(开放 ID 连接)
请参阅Travis Spencer 的 OAuth 和 OIDC 文章- 易于阅读。
如果对此没有更正,请将其标记为答案。谢谢。