簡體   English   中英

如何在不同的基於Owin的相關MVC應用程序和Web API之間使用一個用戶憑證?

[英]How to use one user credential across different related Owin-based MVC apps and web APIs?

我有一個基於Owin的MVC應用程序,它使用我的Web api提供許多功能。 目前,用戶應分別登錄兩個用戶(使用ajax調用,在登錄頁面上,我也登錄Web api並接收令牌),但是兩者都使用同一張表,因此只有一個地方可以存儲用戶信息。

不幸的是,其他MVC應用程序正在使用單獨的用戶名和密碼,並且未使用所提到的api。 現在,我應該創建一個新的MVC應用程序,該應用程序還是同一個域。我正在尋找一種出於任何原因使用單一用戶名和密碼(由一個主MVC應用程序管理)的方法,即所有MVC應用程序和Web API使用相同的用戶名和密碼,因此,例如,我可以在所有API中使用[Authorize]屬性或角色。

有沒有已知的解決方案? 創建OAuth授權服務器是否適合此問題?

在OAuth2之上使用OpenID Connect實現單點登錄符合您的要求。 如果使用的是.net core,請檢出identityServer3或identityServer4。

基本上,您將需要設置共享的STS權限,並且所有應用程序都將使用此權限來使用OWIN中間件來檢查令牌的有效性,以驗證請求。

首次登錄時,STS機構將為用戶頒發令牌,並且您將需要通過前端/后端代碼進行管理,從而在跨多個應用程序/域導航時重新使用令牌。

C#ASP.NET單一登錄實現

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM