Как интегрировать Easy Auth с приложением. NET Core 3.1 MVC? - PullRequest
0 голосов
/ 03 августа 2020

Я разрабатываю приложение. 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. Был бы очень признателен за любую помощь.

1 Ответ

1 голос
/ 21 августа 2020

Это известное ограничение для EasyAuth и. NET Core как задокументировано . Пользователь-участник реализован по-разному в. NET Core и EasyAuth не может получить эти данные автоматически , как это может быть в .NETFX. Вот почему вам нужно использовать обходной путь Максима.

...