簡體   English   中英

IdentityServer4項目架構

[英]IdentityServer4 Project Architecture

首先,對不起我的英語。

我花了一些時間來了解IS4,.NET Core,身份,身份驗證,身份驗證,聲明等。 今天,我開始着手於自己的網絡項目,以使這些作品能夠一起工作。 我的解決方案包括3個客戶端(React,Admin-Razor,Mobile),IS4服務器和WebAPI(React和Mobile將與API通信)。

  1. 由於React和Admin客戶端具有兩個不同的登錄頁面,因此它們都應使用IS4進行授權和身份驗證嗎?

  2. 管理項目將是ASP.NET MVC項目,並且不會從其他項目調用API,因此我必須使用哪些GrantType,並且應該使用IS4?

我不是在尋找代碼示例,只是需要使用IS4的項目體系結構的幫助。

謝謝!

身份服務器是OpenID Connect 身份提供者 (openidConnect建立在OAuth2之上)。 這意味着,身份服務器應用程序將處理與acces和身份令牌,不同的流,聯合身份和委派權限有關的所有工作,換句話說,將處理與身份驗證和授權有關的所有工作。 OpenId connect&OAuth2方法非常適合處理需要集中式安全性的分布式系統。 這意味着,使用IS4可以確保信任身份服務器的所有應用程序將以合並方式處理身份驗證和授權。

對於您的體系結構,似乎IS4是一個很好的起點,但是:

  1. 由於React和Admin客戶端具有兩個不同的登錄頁面,因此它們都應使用IS4進行授權和身份驗證嗎?

IS4是單獨的應用程序,它將發布,驗證和管理ypu客戶令牌,以及最終的令牌。 因此,很可能在IS4方面完成身份驗證過程。 它與第三方身份提供者非常相似(例如facebook或google。是否還記得“使用google登錄”?),但在您的情況下,您擁有自己的身份服務-IS4,作為應用程序托管。 因此,登錄頁面本身應該位於IS4的一側,但是您可以自定義布局。

  1. 管理項目將是ASP.NET MVC項目,並且不會從其他項目調用API,因此我必須使用哪些GrantType,並且應該使用IS4?

答案一如既往地取決於您。 如果您在應用程序中需要某些身份(而不是匿名訪問),則可以使用甚至是首選使用IS。 但是,如果您的管理部分是服務器端應用程序,則最合適的授予流程是“授權代碼”(代表用戶的服務器-服務器通信)。

暫無
暫無

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

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