Blazor WebAssembly-用户帐户和Identity Server的最佳实践



我正试图在我的软件中创建一个基本的用户管理模块,我已经按照本指南创建了该模块:

https://learn.microsoft.com/en-us/aspnet/core/blazor/security/webassembly/hosted-with-identity-server?view=aspnetcore-5.0&tabs=visual studio

我想这是微软推荐的最佳做法。然而,我不理解以下内容:

  1. 是否处理授权服务器端的部分?我想确保没有部分(或最少部分(是服务器端呈现的,授权应该主要在API调用中进行,因为我使用的是Blazor WebAssembly。所以我想知道为什么我们可以指定.cshtml文件等,因为我认为这是服务器端呈现的代码
  2. 在指南中,他们多次提到IdentityServer(似乎是第三方软件组件(。我正在构建的应用程序是一个商业应用程序。我是否必须购买Identity Server的许可证?如果是,是否有微软推荐的免费方式来做同样的事情
  3. IdentityServer和IdentityServer4之间有什么区别
  4. 我最终要做的是一个Microsoft最佳实践模块,它允许管理员创建和处理具有不同角色和访问Blazor WebAssembly项目不同部分的用户。也许还有其他直接的方法可以做到这一点?今天的最佳实践是什么
  1. 身份验证和授权应始终由后端,因为前端总是可以被操纵或模拟的。如果您遵循这些说明,授权将完全由服务器端处理。登录和注销功能将将您重定向到服务器上运行的剃刀页面。当用户经过身份验证后,将创建一个JWT并将其发送到您的Blazor应用程序。然后,可以使用此令牌发送身份验证信息以及随后的HTTP请求。这有点棘手方法启动并运行,但效果良好。

  2. 这些示例中使用的标识服务器是ASP.NET的一部分。

  3. IdentityServer和IdentityServer4指的是包含在ASP.NET中。

  4. 您还可以使用基于Cookie的身份验证并创建Web API来处理登录/注销并提供用户信息。它易于设置和提供Blazor UI用于身份验证。确保有使用此方法时的加密连接,因为您需要通过HTTP请求发送登录信息。

    无论如何,我个人会坚持微软的建议,使用JWT。

相关内容

  • 没有找到相关文章

最新更新