使用Windows和证书进行Owin身份验证

时间:2017-01-24 08:29:13

标签: c# owin windows-authentication x509certificate

这个问题已被多次询问,但这些解决方案都没有对我有用。我无法理解他们如何将多个身份验证与Windows身份验证混合在一起 这些链接
[1]:MVC - Mixed Auth - OWIN + Windows Auth
[2]:https://www.asp.net/aspnet/overview/owin-and-katana/enabling-windows-authentication-in-katana
解释说我需要同时启用匿名和Windows身份验证才能将其混淆,但启用匿名身份验证后,我的应用程序不会要求Windows登录凭据。
我尝试禁用匿名,然后添加了一个虚拟的基于声明的身份验证来验证每个请求,但它要求Windows登录凭据然后。

我的目的是支持证书身份验证和Windows身份验证。

1 个答案:

答案 0 :(得分:0)

我的身份验证方法是错误的。尝试设置虚拟身份验证并不起作用。在设置了我的api已经在进行Windows身份验证的适当环境后,我不得不为OWIN的配置方法中的api添加基于令牌的身份验证

app.UseWindowsAzureActiveDirectoryBearerAuthentication(
    new WindowsAzureActiveDirectoryBearerAuthenticationOptions
    {
        Tenant = "tenant link",
        TokenValidationParameters = new TokenValidationParameters
        {
            ValidAudiences = audienceUris
        },
   });

因此,OWIN支持开箱即用的多重身份验证,我们只需添加一种身份验证方法即可使其正常工作。