0

我有一個應用程序由以前的開發人員使用OWIN中間件同時使用cookie和OAuth令牌。這是一個ASP.NET MVC應用程序,它僅使用MVC視圖/控制器進行登錄,並使用主視圖來託管完全獨立的Angular應用程序。ASP.NET MVC + Angular應用程序只有令牌認證和沒有cookie

承載令牌用於驗證到API一旦應用程序是完全加載,但一個auth cookie被用來加載包圍納克應用初始支架MVC主視圖。

我的問題是有一個業務要求,允許用戶使用每個瀏覽器選項卡的唯一憑據登錄,因此Cookie不能使用但只是使用基於會話的令牌來保持它們分開。

ASP.NET MVC應用程序能否在不使用基於cookie的身份驗證的情況下從根本上運行?

如果我可以刪除Cookie身份驗證,並只依賴令牌,這將解決我的問題,必須在角碼和重新實現登錄路徑中重寫角外框。

的說明:我在執行IdentityServer3,我發現那裏所有樣品和其他地方總是有cookie認證作爲這裏的組合的一部分,因此我的問題。

+0

擺脫MVC部分,使之成爲JS唯一的應用程序。 – leastprivilege

+0

感謝多米尼克 – dodegaard

回答

0

我想你想在這裏做的是以下幾點:

  1. 主控制器
  2. 上添加[使用AllowAnonymous在由主頁加載應用程序,使用瀏覽器側包像oidc-client一樣執行用戶登錄。這將返回一個id和一個訪問令牌。
  3. 在您的REST服務請求中注入訪問令牌。
  4. 使用UseIdentityServerBearerTokenAuthentication過濾並在Web API服務器進行身份驗證令牌承載。