Настройка логики AAD-аутентификации - PullRequest
0 голосов
/ 06 февраля 2019

Можно ли добавить / расширить логику аутентификации пользователя в AAD?

Я хочу иметь возможность получить пароль пользователя альтернативным способом, а затем передать пароль в AAD, чтобы он был проверен AADобычным способом.

С высокого уровня, это поток аутентификации, который я имею в виду:

  1. Пользователь входит в систему, которая требует аутентификации
  2. Пользователь перенаправляется в AAD для аутентификации
  3. AAD перенаправляет в мой механизм поиска пароля
  4. Пользователь передает свой пароль в механизм поиска пароля
  5. Модуль поиска пароля возвращает парольв AAD
  6. Механизм поиска пароля перенаправляет обратно в AAD
  7. AAD выполняет проверку пароля / пользователя на основе пароля пользователя из механизма поиска пароля.

Любая помощьЭто очень ценится.

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

Вы можете использовать аутентификацию по имени пользователя / паролю (grant_type=password) с приложениями AAD, хотя этот поток официально не рекомендуется.

Как этот поток работает в сочетании с библиотекой ADAL.NET, подробно объясняется здесь: https://github.com/AzureAD/azure-activedirectory-library-for-dotnet/wiki/Acquiring-tokens-with-username-and-password

Помните, что ваше приложение AAD должно быть создано как «родное» приложение, чтобы это работало!«Веб-приложения» (конфиденциальные клиенты) вызовут ошибку AADSTS7002 при попытке аутентификации с использованием имени пользователя и пароля!

Ниже описан поток паролей AAD v2.0: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth-ropc

0 голосов
/ 07 февраля 2019

Да, вы можете сделать это.Вы можете выдать токены аутентификации и создать пользовательскую конечную точку аутентификации, добавив AuthController.Прежде чем пользователь сможет вызвать конечную точку, он должен вызвать AuthController с действительными учетными данными, чтобы получить токен, который будет использоваться в последующих вызовах API.

Это, безусловно, лучший гид , который я до сих пор видел для этого.Этот one также удобен.

Вы также можете иметь пользовательскую аутентификацию на бэкэнде и AAD-аутентификацию на внешнем интерфейсе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...