Я разрабатываю приложение. NET Core 3.1 MVC, а затем публикую его в Azure веб-приложении. На портале Azure для этого размещенного приложения -> я включил аутентификацию службы приложений с помощью входа в AzureAD. Но тогда аутентификация не работает, поскольку «User.Identity.IsAuthenticated» всегда приходит как false в контроллере, и я не могу получить другие данные пользователя, которые я хочу, например, адрес электронной почты et c. При поиске я обнаружил, что есть обходной путь с использованием пакета Nuget для> Net Core 2.2 (https://github.com/MaximRouiller/MaximeRouiller.Azure.AppService.EasyAuth), но я не вижу никакого решения для 3.1.
Однако когда я настраиваю пользовательскую аутентификацию, отключив аутентификацию службы приложений в Azure, и устанавливаю аутентификацию в Startup.cs следующим образом:
services.AddAuthentication(AzureADDefaults.AuthenticationScheme).AddAzureAD(options => Configuration.Bind("AzureAd", options));
и это:
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints => ...
с конфигурацией в appsettings. json, аутентификация работает нормально, и я также могу получить данные о пользователе.
Но мы предпочитаем не иметь никаких настроек аутентификации / пользовательской аутентификации в коде, а полностью обрабатывать их на портале используя Azure AD Easy Auth с приложением NET Core 3.1 MVC. Был бы очень признателен за любую помощь.