如何将pf_auth.pf_authenticate请求定向到内部部署的多重身份验证服务器

时间:2015-06-23 00:31:35

标签: asp.net-mvc ldap two-factor-authentication

我已经在这个请求上打了几个小时。

我有一个Azure MultiFactor身份验证服务器的内部部署安装。我正在构建一个新的ASP.Net MVC 5应用程序,它将为Active Directory中的用户(也是内部部署)执行LDAP查找,而不配置ADFS。

我已经通过了MFA服务器的sdk,可以轻松启用短信请求。我从调用pf_auth.pf_authenticate(authParams,out otp,out callStatus,out errorId)获得otp代码;

这适用于测试。但我需要将此请求定向到我的现场MFA服务器。我无法找到任何可以告诉我在哪里可以设置此值的内容。

我知道如果我登录到该域上的某台计算机,它会自动将SMS文本发送到我的手机,然后我可以将其输入到下一个屏幕以完成登录(使用MFA设置的默认用户门户)。我认为当我在我的应用程序的新创建的PrincipalContext上调用ValidateCredentials时,这可能会有效。但是,如何在没有某种RequestId的情况下提交短信代码来同步通信。

对不起,如果这没有多大意义的话。我能找到的所有示例都是将MFA用于本地ADFS。我只有Active Directory,这导致我进行自定义LDAP查找。

非常感谢任何帮助或指示。

1 个答案:

答案 0 :(得分:0)

好的,抱歉延迟回复此帖子。在没有得到任何回复之后,我继续前进,但最近发现自我的帖子以来已有45次以上的观点,并认为我应该为可能遇到类似问题的其他人更新。

事实证明,在内部使用MFA时,您可以将多个应用程序指向单个MFA服务器,如远程访问,VPN等。

但是,如果您尝试设置IIS上托管的Web应用程序,则需要在托管该应用程序的IIS服务器上安装MFA服务器的副本。

安装时,您可以指向现有的MFA设置,以便两台计算机处于相同的配置。此本地安装还添加了一个自定义IIS插件,用于执行请求拦截并将其引导通过MFA管道。如果一切看起来都很好,那么请求会像平常一样转发到您的Web应用程序。

这非常简单,但MFA设置的文档非常缺乏。希望将来有一个由Microsoft提供的体面的示例应用程序,它使用本地MFA而不仅仅是Azure托管解决方案来演示此过程。