Blazor Server应用无法选择Microsoft Identity Platform认证类型的解决方法
解决Blazor Server应用缺少Azure AD(Entra)认证选项的问题
方法一:检查并安装Visual Studio工作负载
- 打开Visual Studio安装程序,选择“修改”当前使用的VS版本
- 在“工作负载”列表中,确保勾选ASP.NET和Web开发以及Azure开发这两项,点击“修改”完成安装后重启Visual Studio
方法二:手动添加Azure AD认证配置
若安装工作负载后仍无对应选项,可手动完成配置:
- 创建一个不带认证的Blazor Server应用
- 安装NuGet包:
Microsoft.AspNetCore.Authentication.AzureAD.UI - 在
Program.cs中添加认证服务注册代码:
builder.Services.AddAuthentication(AzureADDefaults.AuthenticationScheme) .AddAzureAD(options => builder.Configuration.Bind("AzureAd", options));
- 在
Program.cs的中间件管道中添加认证与授权中间件(放在app.UseRouting()之后、app.MapBlazorHub()之前):
app.UseAuthentication(); app.UseAuthorization();
- 在
appsettings.json中添加Azure AD的配置信息(信息可从Azure Entra管理门户获取):
"AzureAd": { "Instance": "https://login.microsoftonline.com/", "Domain": "你的租户域名", "TenantId": "你的租户ID", "ClientId": "你的应用客户端ID", "CallbackPath": "/signin-oidc" }
- 在需要认证的Razor组件中,使用
[Authorize]属性或AuthorizeView组件启用访问控制
方法三:更新Visual Studio到最新版本
旧版本Visual Studio可能未包含该认证选项,打开VS的“帮助”→“检查更新”,安装所有可用更新后重新尝试创建项目
内容的提问来源于stack exchange,提问作者kbd
相关产品推荐
相关产品推荐

