我有一个.net应用程序,该应用程序已连接到本地ADFS服务器(已连接到我们的公司AD服务器),并且一切正常。我的问题是,我的ADFS是否可以与Internet上的其他SSO服务(例如Azure AD,AWS,Google登录名,Facebook,Twitter,OpenID等)建立受信任的连接,以便我的应用程序可以使用来自我以外的多个受信任来源的声明激活目录?
我有一个.net应用程序,该应用程序已连接到本地ADFS服务器(已连接到我们的公司AD服务器),并且一切正常。我的问题是,我的ADFS是否可以与Internet上的其他SSO服务(例如Azure AD,AWS,Google登录名,Facebook,Twitter,OpenID等)建立受信任的连接,以便我的应用程序可以使用来自我以外的多个受信任来源的声明激活目录?
Answers:
我已经做到了 在我们的模型中,我们有三组用户:
内部用户通过Active Directory(Kerberos或NTLM)针对本地AD FS实例进行身份验证。在此集中,AD FS服务器作为IdP运行。
外部用户通过Active Directory(Kerberos或NTLM)针对自己的AD FS实例和域进行身份验证。在此集合中,AD FS服务器具有配置给颁发AD FS服务器的声明提供者信任。我们的AD FS服务器通过转换和验证在其他位置发出的声明,然后向我们的应用程序重新发行受信任的令牌,从而充当SP-STS。IdP是另一个域的AD FS服务器,其中我们的AD FS服务器被配置为依赖方。
没有公司登录的外部用户。这些用户通过小型.Net STS进行身份验证,该网络在我们的AD FS服务器上配置为“声明提供者信任”。(我们也确实考虑过-从技术上来说很简单-使用Azure Active Directory B2C担任该角色,但其他一些问题阻止了它。)
为了使其对我们的客户透明,我们使用IP范围来检测(通过nginx)并重定向到适当的公司AD FS –否则,将依赖于标准的AD FS HRD页面。
似乎可以将依赖方链接起来。这个家伙写了一系列关于它的文章,这是一个。您可以将ADFS用作您的应用进行身份验证的“枢纽”,它将将请求链接回到用户身份实际居住的任何服务。
https://cloudidentityblog.com/2013/06/17/why-use-aad-as-idp-via-ad-fs-rp/
我自己还没有做这件事,所以我不确定这会做多少工作以及可能会遇到的陷阱。我敢肯定,如果一个用户居住在多个IdP中,您可能会遇到问题。
别忘了,没有什么阻止您编写.NET应用程序以能够本地利用多个SSO提供程序的。