C# WebApi:基于令牌的Windows身份验证

C# WebApi:基于令牌的Windows身份验证,c#,authentication,asp.net-web-api,windows-authentication,C#,Authentication,Asp.net Web Api,Windows Authentication,有没有办法在web api应用程序中同时使用基于令牌的身份验证和Windows身份验证 我们有一个使用基于令牌(承载)身份验证的“标准”web api应用程序 OAuth配置如下所示: OAuthOptions = new OAuthAuthorizationServerOptions { TokenEndpointPath = new PathString("/Token"), Provider = new ApplicationOAuthProvider(PublicCl

有没有办法在web api应用程序中同时使用基于令牌的身份验证和Windows身份验证

我们有一个使用基于令牌(承载)身份验证的“标准”web api应用程序

OAuth配置如下所示:

OAuthOptions = new OAuthAuthorizationServerOptions {
     TokenEndpointPath = new PathString("/Token"),
     Provider = new ApplicationOAuthProvider(PublicClientId),
     AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
};
app.UseOAuthBearerTokens(OAuthOptions);
一切正常。调用“/令牌”-端点时,您将获得令牌并获得授权

现在我想添加windows身份验证,以便在客户端的windows操作系统的登录用户调用web api时启用“signle sign-on”

到目前为止我所做的:

更改了web.config并添加了

<system.web>
  <identity impersonate="true" />
  <validation validateIntegratedModeConfiguration="false" />
</system.web>
除了验证密码外,提供程序应该执行与使用用户名和密码为请求生成令牌的
ApplicationAuthProvider
几乎相同的操作。 不幸的是,在针对“/IdentityToken”-端点的请求中没有设置用户/标识


有人能帮我解决这个问题吗?或者我完全走错了方向了吗?

你有没有得到关于如何让它工作的答案?@Tobias-嘿,你有没有得到过答案?@NickManojlovic-没有
app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions {
    TokenEndpointPath = new PathString("/IdentityToken"),
    Provider = new WindowsIdenityAuthorizationServerProvider(),
    AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
});