Каков наилучший способ аутентификации пользователя в API .net core 2 программно с помощью Azure Active Directory - PullRequest
1 голос
/ 09 июля 2019

Я работаю над приложением, имеющим угловой интерфейс 6 и серверную часть .net core 2.0, и пытаюсь настроить его так, чтобы мое приложение аутентифицировало пользователей через активный каталог Azure. Проблема заключается в том, что я хочу, чтобы серверная часть ядра .net выполняла всю аутентификацию программно, когда у меня есть интерфейс, передающий электронную почту и пароль. Все, что я видел до сих пор в Интернете, предлагает перенаправить интерфейс на страницу входа Microsoft, но мы используем наше приложение в качестве базового проекта и хотим иметь возможность легко изменять тип аутентификации в бэкэнде без необходимость изменить угловой интерфейс. Кто-нибудь знает, как я мог пойти по этому поводу?

1 Ответ

0 голосов
/ 10 июля 2019

Вы можете использовать Предоставить учетные данные для пароля владельца ресурса . В процессе вам нужно будет собрать учетные данные пользователя в приложении Angular и выполнить публикацию в ядре ядра .net, а затем завершить аутентификацию в фоновом приложении с помощьюучетные данные пользователя.Но это не рекомендуется , поскольку поток ROPC требует высокой степени доверия и воздействия на пользователя, и вы должны использовать этот поток только тогда, когда другие, более безопасные потоки не могут быть использованы.

Также:

  • Конечная точка платформы удостоверений Microsoft поддерживает ROPC только для клиентов Azure AD, но не для личных учетных записей.Это означает, что вы должны использовать конкретную конечную точку клиента (https://login.microsoftonline.com/{TenantId_or_Name}) или конечную точку organizations.
  • Личные учетные записи, приглашенные клиенту Azure AD, не могут использовать ROPC.
  • Учетные записи, не имеющие паролей, не могут войти через ROPC.Для этого сценария мы рекомендуем вместо этого использовать другой поток для своего приложения.
  • Если пользователям необходимо использовать многофакторную аутентификацию (MFA) для входа в приложение, они будут заблокированы вместо этого.

Ссылка: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth-ropc

...