ADFS 中的自定义身份验证适配器作为主要步骤

Custom authentication adapter in ADFS as a primary step

我们有一个设置涉及使用 ADFS 作为其访问控制服务器的第三方 Web 应用程序。有一段时间效果很好。

现在我们需要在 ADFS 中安装自定义身份验证策略,以便将身份验证过程委托给另一个自定义的内部构建服务器并采用自定义的动态规则。

根据我们的理解,这是一般 ADFS 身份验证管道的鸟瞰图:

基本上,使用自定义的辅助步骤来增强身份验证过程非常容易,但不可能跳过 Primary 身份验证子过程。

我们确实设法实现了 Multi Factor Authentication Adapter(基本上是一个订阅 ADFS 约定的 .NET 程序集)并在我们的 ADFS 中成功安装了它:

不幸的是,我们的情况要求我们自定义第一步并对各种情况做出不同的反应。例如:

让最终用户从一开始就被迫提供凭据是一个交易破坏者。

有人知道如何实现吗?

我们在 Windows Server 2012 R2 上使用 ADFS。此版本的 ADFS 不需要预安装 IIS

我们发现了一篇关于 ADFS 2.0 的有趣文章,它比我们正在使用的文章要早得多,并且需要 IIS。本文提供了一个示例,说明如何更改似乎是主要身份验证步骤的登录页面:

https://social.technet.microsoft.com/wiki/contents/articles/1600.ad-fs-2-0-how-to-change-the-local-authentication-type.aspx

我们未能在 ADFS 上复制该示例。

根据@maweeras,您不能用于 ADFS 3.0 及更高版本。

IIS 上的 ADFS 2.1 及更低版本 运行,因此您可以访问该网站并可以更改代码。

这导致人们引入各种安全漏洞,ADFS 被指责因此被锁定。

根据建议,联邦例如使用开源的身份服务器并在那里进行更改。

根据 ADFS Release Notes,此功能已在 2019 年 Windows 的 ADFS 中实现。

External Auth Providers as Primary - Customers can now use 3rd party authentication products as the first factor and not expose passwords as the first factor. In the cases where an external auth provider can prove 2 factors it can claim MFA.