2014-10-27 58 views
1

我正在创建一个应用程序,它将使用MVC 5来为初始布局,视图,脚本等提供服务,然后使用WebApi2向UI提供数据。MVC 5和WebApi2使用OWIN OAuth

我想在WebApi上使用OWIN OAuth位进行身份验证。

WebApi存在于DLL中,而MVC 5应用程序是Web应用程序。

我已经参考了OAuth WebApi位的this article

如何设置WebApi以在MVC 5应用程序中运行并使用OWIN启动类?

或者这是不可能的?

+0

是关于如何使WebAPI和传统的MVC 5应用程序共享代码和路线的问题? – Claies 2014-10-27 18:35:13

+0

不,更多关于如何使用OWIN将WebApi用于OAuth的同时将两者一起托管。 – Sam 2014-10-27 18:40:14

+0

我想我仍然感到困惑。与OWIN一起使用OAuth提供程序与他们共同托管有什么关系? – Claies 2014-10-27 18:44:24

回答

2

我建议你检查了VS 2013的Web API模板(网页API和MVC核心的依赖),但个人账户选中为this image,我相信你缺少添加这些类WebApiConfig.cs两条线:

config.SuppressDefaultHostAuthentication(); 
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); 

您需要禁止默认身份验证(Forms Auth),然后仅为Web API添加承载身份验证。