2017-06-16 90 views
1

我是联盟身份管理的新手。我试图了解认证协议和概念之间的差异。联合身份管理:ADFS vs OpenID

我了解OpenID和OAuth之间的区别/关系。不过,我仍然对ADFS,OpenID,IDaaS和基于声明的认证概念之间的差异感到困惑。

我在寻找高级解释。

任何帮助,高度赞赏。

回答

1

好了,让我试着解释这一点:

  • 的OAuth 2 - 协议委托授权;
  • OpenID Connect(OIDC) - 通过OAuth2构建的协议,允许委派认证;而不是我的应用程序实现身份验证,这种身份验证是由第三方实现的。
  • Active Directory联合身份验证服务(ADFS) - 协议既不是框架。是由微软开发的软件,允许单点登录和Windows网络联合。
  • 索赔为基础的SAML和OIDC JWT令牌的基础。这些类型的令牌具有关于该主题的认定(实体认证)并且通常被签名。

汇总:

  • OIDC和OAuth 2.0是协议。他们并没有指定你的联邦会采用哪种方式或如何运作。 OAuth2在授权阶段进行,OpenID Connect在认证阶段和联盟阶段进行。任何公司都可以通过OpenID Provider公开的公钥验证ID令牌,因此成为联盟的一部分。
  • ADFS是允许基于SAML协议(安全但比OIDC更重)的联邦产品
  • 基于声明的OIDC和SAML协议均使用基于声明。这些令牌具有发行人声称对某个实体正确的信息。如果你依靠第三部分发行的令牌,你就成为了依赖方。
+0

感谢您的回答。所以,SAML和OIDC做同样的工作,所以至少在理论上,应该有可能拥有ADFS(这只是一个产品),并且使用OIDC而不是SAML? – user2931442

+0

除了上面的问题,SSO如何与此相关? SSO是仅由微软支持的,还是一个普遍的概念? – user2931442

+0

SSO是一个概念。一次在一个域中进行身份验证,此身份验证在其他域中仍然有效。您可以使用LDAP作为用户注册表,并且其身份验证会生成OIDC令牌。 ADFS扩展了LDAP的联合身份,但定位Windows网络,而不是应用程序。在ADFS后面有一个LDAP,可以认为它是一个针对读取操作进行优化的数据库。我不确定您是否可以将ADSF用作简单的LDAP。我会做一些调查并回复。 –

0

只是为了扩大。

当你说,OpenID是你的意思,还是你的意思是OpenID连接?它们是两种不同的协议,现在很少使用OpenID。

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

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

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

只需指出,ADFS还支持WS联合。