Развертывание приложения Blazor на Azure с использованием AAD-аутентификации - PullRequest
0 голосов
/ 12 февраля 2020

Я создал приложение Blazor по умолчанию (на стороне сервера) в Visual Studio 2019 с Azure аутентификацией AD. При локальном запуске приложения оно аутентифицируется на AAD, как и ожидалось. Однако при развертывании в службе приложений в Azure приложение не запустится. Процесс развертывания работает нормально, режим развертывания является автономным, а служба приложений - Windows (Linux работает так же). Все файлы и настройки выполнены соответствующим образом, но при переходе на сайт отображается следующая ошибка.

Эта страница не работает blazorappxxxxxxx.azurewebsites. net в настоящее время не может обработать этот запрос.

HTTP ERROR 500

Отключите код аутентификации в файле startup.cs и заново разверните его, теперь приложение работает.

        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 перенаправления установлены, неявные Грант настроен для токена доступа и идентификатора токена.

1 Ответ

0 голосов
/ 12 февраля 2020

Попробуйте использовать код, приведенный ниже:

public void ConfigureServices(IServiceCollection services)  
{  
    services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
         .AddAzureAD(options => Configuration.Bind("AzureAd", options)); 
    services.AddControllers();  
}  

За кулисами Visual Studio автоматически регистрирует наше ASP. NET основное приложение в Azure Регистрация приложения AD. Для более подробной информации, вы можете обратиться к этому учебнику .

...