2014-10-27 42 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添加承載身份驗證。