使用没有OWIN身份验证中间件的Web API 2

时间:2014-11-17 20:25:43

标签: asp.net asp.net-web-api token owin

我想使用ASP.NET WebAPI 2,但使用我自己的身份验证机制。我试图删除VS 2013中SPA模板附带的所有代码,以及普通的WebAPI模板。如果我从项目中删除所有与auth相关的代码并且没有在其中配置OWIN的Startup.Auth,我总是会收到错误,OWIN中间件身份验证没有设置,我无法获得任何控制者的行动。

在WebAPI 2中使用自己的代码实现基于令牌的身份验证的正确方法是什么,绕过了OWIN主机.dll中的内容,包括它的配置要求?< / p>

3 个答案:

答案 0 :(得分:11)

与John回答类似,但您可以在创建WebAPI时删除OWIN。更清洁的方法。

要做到这一点: 选择&#34;更改身份验证&#34; enter image description here

然后选择&#34; No Authenciation&#34;

enter image description here

现在你的项目没有OWIN的东西

干杯 巧克力

答案 1 :(得分:2)

您可以使用空白的Asp.Net模板并将Web Api 2添加为nuget包,或从其他启动器模板中删除未使用的内容。

答案 2 :(得分:1)

您可以注释掉以下代码行:

Startup.cs:

//[assembly: OwinStartup(typeof(Yourpoject.Startup))]

public void Configuration(IAppBuilder app)
{
    //ConfigureAuth(app);
}

WebApiConfig.cs:

 //// Web API configuration and services
 //// Configure Web API to use only bearer token authentication.
 //config.SuppressDefaultHostAuthentication();
 //config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));