ADFS MFA - 为YubiKey扩展AD架构

时间:2015-04-21 02:41:49

标签: active-directory adfs adfs3.0

我们公司正在连接越来越多的应用程序,以便对我们的ADFS基础架构使用SAML身份验证,我们正在认真考虑实施更多的多因素身份验证方法,尤其是YubiKeys。

我将使用HERE中的编码示例为我们的ADFS基础架构编写自定义MFA提供程序(使用ADFS 3.0,即Windows Server 2012 R2)并且有一个'碰撞'我还没有一个明确的答案。

为了使其正常工作,需要将用户帐户链接到YubiKey令牌ID#,并将其存储在AD中是理想的选择。 (我已经看到一些例子,其中MFA提供者实际上是我不想要的外部Web应用程序。)

最初我将使用User类extensionAttributes之一进行测试,但最终我将为此创建一个专用属性。显然,这需要一个我很习惯的架构扩展。

我不知道的是如何为正在验证他们使用的yubikey的用户验证用户的AD属性(即确保他们没有使用别人)。谁能告诉我这是否可能?

1 个答案:

答案 0 :(得分:0)

我刚刚回答了我自己的问题:

将此代码添加到AuthenticationAdapter类:

private string GetDeviceId(string upn)
    {
        DirectoryEntry entry = new DirectoryEntry();
        DirectorySearcher mySearcher = new DirectorySearcher(entry, "(&(objectClass=user)(objectCategory=person)(userPrincipalName=" + upn + "))");
        SearchResult result = mySearcher.FindOne();
        string deviceId = (string)result.Properties["extensionAttribute10"][0];
        return deviceId;
    }