ASP.NET 核心身份 SPA 与 React 一起



我对将 ASP.NET 核心身份与 React SPA 一起使用感到困惑和有点迷茫。

我已经多次阅读了Microsoft关于 ASP.NET 核心身份的文档,主要集中在 SPA 身份部分,但我不得不承认我仍然不清楚如何将 React SPA 与 ASP.NET 核心身份绑定。

这些是我偶然发现的障碍:

  • 文档假定我想使用 IdentityServer,但我没有。我更喜欢Openiddict,但我不知道如何进行切换。最糟糕的是,我不完全清楚IdentityServer或Openiddict是做什么的。我知道他们为 JWT 令牌提供 OpenId 连接并保护我的 REST 端点,但他们如何做到这一点对我来说仍然很模糊。

  • 专注于 React SPA 的
  • Microsoft文档都使用 React SPA 和 API 后端的"方便"托管作为一个单元。这很不幸,因为我不想这样。我的 React SPA 与 API 完全解耦并分离,它们将单独托管。总而言之,我不希望我的 React SPA 与 API 后端位于同一解决方案中。

  • Microsoft文档中的大多数示例都使用实体框架作为 ORM。我不会的。我将改用 Dapper。好消息是,有一个部分更好地解释了 ASP.NET 核心身份的自定义存储提供程序,而且我正在研究在 Daarto 中完成的 Dapper 实现的 ASP.NET 核心身份,所以这部分我一直更好地理解。

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

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

OpenIddict是一个自己实现身份验证服务器的库,IdentityServer是一个完全实现的身份验证服务器,提供多种方案。在教程中,经历此方案的教程并不多。大多数人继续使用 APS.NET 身份创建 JWT 身份验证和授权,这对我来说有点不安全,因为您自己实现所有内容,而身份验证是您不应该自己实现的事情之一。

最新更新