Blazor WebAssembly Azure 广告授权

Blazor WebAssembly Azure Ad Auth

有人知道使用 blazor web assembly 和 azure ad auth 的模板或教程吗?

如果它使用 c# web api 作为其服务器,则加分。

据我了解,这还不是直接支持的场景。有一个部署指南 here 但它没有提供有关身份验证方面的指南。

我建议在 User Voice 中提出这个请求,以便产品团队可以优先考虑这个问题。我看到很多人要求这个。

是的 Secure an ASP.NET Core Blazor WebAssembly hosted app with Azure Active Directory

在 Blazor WebAssembly 应用程序中,用户身份验证和授权必须由后端 Web 处理 Api,因为所有客户端代码都可以由用户修改。

在 Blazor WebAssembly 中,您可以实现一个 AuthenticationStateProvider 调用您的网站 Api 以获取有关用户授权状态的详细信息。

然后您可以使用 AuthorizeView 组件根据用户角色等显示或隐藏内容

有趣的是,无论您使用 Azure AD、Azure AD B2C 还是任何其他身份验证提供程序,对于您的 Blazor 应用程序都无关紧要,因为身份验证由 Api 处理。只有登录和注销 url 取决于您的身份验证提供商。

您可以在 Blazor Prepare for Authorization

中找到清晰的描述

https://github.com/Forestbrook/BlazorAuthorizationExample.

中的源代码示例

以下是 Microsoft 文档的最新补充(2020 年 5 月)。我现在就试一试。

Secure an ASP.NET Core Blazor WebAssembly hosted app with Azure Active Directory

它使用 Blazor WebAssembly 作为前端和 ASP.NET 核心后端。

它没有明确提及的一部分是在客户端应用程序中需要 Microsoft.Extensions.Http。在 NuGet 中可用。

编辑:很抱歉让您兴奋 => 未经测试就分享这个。我刚刚完成了这些步骤,我确认它有效!