reactjs 带有React的ASP.NET核心标识SPA

v440hwme  于 2023-01-30  发布在  React
关注(0)|答案(2)|浏览(150)

我对将ASP.NET核心标识与React SPA一起使用感到困惑和有点迷失。
我已经读了好几遍Microsoft documentation about ASP.NET Core Identity,主要集中在Identity with SPA section上,但我必须承认,我仍然不清楚如何将React SPA与ASP.NET核心标识绑定在一起。
以下是我偶然发现的阻滞剂:

  • 文档假设我想使用IdentityServer,但我没有。我更喜欢Openiddict,但我不知道如何转换。最糟糕的是,我不完全清楚IdentityServer或Openiddict的功能。我知道它们为JWT令牌提供OpenId连接,并保护我的REST端点,但它们如何做到这一点对我来说仍然很模糊。
  • Microsoft文档中关于React SPA的内容都使用了一个“方便”的hosting of both the React SPA and the API back-end as a single unit。这很不幸,因为我不希望这样。我的React SPA与API完全分离,它们将被单独托管。总之,我不希望React SPA与API后端位于同一个解决方案中。
  • 微软文档中的大多数例子都使用Entity Framework作为ORM。我不会。我将使用Dapper代替。好消息是有一节更好地解释了Custom storage providers for ASP.NET Core Identity,而且我也在学习用Daarto实现的ASP.NET Core Identity with Dapper,所以这部分我理解得更好。

任何教程,博客,存储库或文档,你可以推荐我了解确切的一步一步,彻底解释了需要做什么绑定一个React SPA与ASP.NET核心身份?这是验证用户,保护API端点,React将如何与Openiddict通信,以及如何使用Openiddict与ASP.NET核心身份,等等。

3qpi33ja

3qpi33ja1#

OpenIddict是一个自己实现Auth服务器的库,IdentityServer是一个完全实现的身份验证服务器,提供了几个方案。在教程中,没有太多教程介绍这个场景。大多数教程使用APS.NET Identity创建JWT身份验证和授权,我觉得有点不安全,因为您自己实现所有内容,而Auth是您不应该自己实现的内容之一。

xxslljrj

xxslljrj2#

ASP.NET Identity是成员资格提供程序并使用Cookie,而IdentityServer是可用于支持令牌身份验证的OAuth2/OpenID Connect服务器。IdentityServer 4最终将支持ASP.NET Identity作为成员资格存储。对于移动的设备和SPA中的身份验证和授权,您可以使用令牌,最佳解决方案是具有ASP.NET Identity的IdentityServer 4。

相关问题