使用AAD身份验证将Blazor应用部署到Azure
我已经在VisualStudio2019中创建了一个默认Blazor应用程序(服务器端),带有Azure广告验证。按预期在本地运行应用程序,并根据AAD进行身份验证。但是,当部署到Azure中的应用程序服务时,该应用程序将不会运行。部署过程运行良好,部署模式是自包含的,应用程序服务是Windows(Linux的工作方式相同)。所有文件和设置都已正确设置,但导航到站点时会显示以下错误 此页面不工作 Blazorappxxxxxx.azurewebsites.net当前无法处理此请求 HTTP错误500 禁用startup.cs中的身份验证代码并重新部署,现在应用程序可以工作了使用AAD身份验证将Blazor应用部署到Azure,azure,azure-active-directory,blazor-server-side,Azure,Azure Active Directory,Blazor Server Side,我已经在VisualStudio2019中创建了一个默认Blazor应用程序(服务器端),带有Azure广告验证。按预期在本地运行应用程序,并根据AAD进行身份验证。但是,当部署到Azure中的应用程序服务时,该应用程序将不会运行。部署过程运行良好,部署模式是自包含的,应用程序服务是Windows(Linux的工作方式相同)。所有文件和设置都已正确设置,但导航到站点时会显示以下错误 此页面不工作 Blazorappxxxxxx.azurewebsites.net当前无法处理此请求 HTTP错误5
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => Configuration.Bind("AzureAd", options));
services.AddControllersWithViews(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
});
应用程序已在AAD中注册,并设置了重定向URI,为访问令牌和ID令牌配置了隐式授权。请尝试使用以下代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => Configuration.Bind("AzureAd", options));
services.AddControllers();
}
在幕后,Visual Studio会在Azure AD应用程序注册中自动注册我们的ASP.NET核心应用程序。有关更多详细信息,您可以参考此信息。对不起,答案没有帮助。您建议的自我提升教程包括visual studio和.NET Core 3的预览版本。该应用程序使用这两个版本的当前版本。