繁体   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