联合身份管理:ADFS 与 OpenID

Federated Identity Management: ADFS vs OpenID

我是联合身份管理的新手。我正在尝试了解身份验证协议和概念之间的差异。

我了解 OpenID 和 OAuth 之间的 difference/relationship。但是,我仍然对 ADFS、OpenID、IDaaS 和基于声明的身份验证概念之间的差异感到困惑。

我正在寻找高级解释。

非常感谢任何帮助。

好吧,让我试着解释一下:

  • OAuth 2 - 委托授权协议;
  • OpenID Connect (OIDC) - 基于 OAuth2 的协议构建,允许委托身份验证;不是我的App实现认证,这个认证是由第三方实现的。
  • Active Directory 联合身份验证服务 (ADFS) - 既不是协议也不是框架。是 Microsoft 开发的一款软件,允许 Windows 网络的单点登录和联合。
  • 基于声明是 SAML 和 OIDC JWT 令牌的基础。这些类型的令牌具有关于主题(经过身份验证的实体)的断言,并且通常是经过签名的。

总结:

  • OIDC 和 OAuth 2.0 是协议。他们不会规定您的联邦将运作哪个或如何运作。 OAuth2 发生在授权阶段,OpenID Connect 发生在身份验证和联合阶段。任何公司都可以使用 OpenID 提供商公开的 public 密钥验证 ID 令牌,因此成为联合会的一部分。
  • ADFS 是允许基于 SAML 协议联合的产品(安全但比 OIDC 更重)
  • OIDC 和 SAML 协议都使用基于声明。令牌具有发行者声称对某些实体正确的信息。如果您依赖第三方发行的代币,您就成为了依赖方。

只是为了扩展。

当您说 OpenID 时,您是指那个还是指 OpenID Connect?它们是两种不同的协议,现在很少使用 OpenID。

A​​DFS 4.0 (Server 2016) 是唯一具有完整 OpenID Connect / OAuth 支持(即所有四个配置文件)的 ADFS。

只有 ADFS 4.0 可以使用 LDAP v3.0 及更高版本进行身份验证。在早期版本中,您必须使用 AD。

此外,SAML 和 WS-Fed 通常使用 SAML 令牌而不是 JWT 令牌。

需要指出的是,ADFS 还支持 WS-Federation。