Как аутентифицировать синхронизированных пользователей, используя openid в ADFS? - PullRequest
0 голосов
/ 25 октября 2019

У меня есть следующий сценарий:

Локальная AD, синхронизированная с AAD с использованием Azure AD Connect. Логин Azure Portal объединен с этой локальной AD. Мне нужно разрешить этим синхронизированным пользователям проходить аутентификацию в мобильном приложении, используя конечную точку токена oauth2 https://login.microsoftonline.com/tenantid.onmicrosoft.com/oauth2/v2.0/token. Чтобы сделать это возможным, я зарегистрировал приложение на App Registrations, и оно отлично работает для пользователей, созданных с помощью портала Azure, но оно не работает с синхронизированными локальными пользователями. Проблема здесь в том, что синхронизируются только имена пользователей без пароля. Поэтому, когда я отправляю сообщение на эту конечную точку, я получаю сообщение об ошибке, в котором говорится, что имя пользователя или пароль неверны.

Так что я застрял здесь в том, что мне нужно настроить, чтобы это работало, я прочиталмного документов Microsoft, но не могу понять, как это сделать.

Ответы [ 2 ]

2 голосов
/ 26 октября 2019

Используемый вами поток аутентификации (учетные данные пароля владельца ресурса) имеет проблемы с федеративными пользователями. Иногда это срабатывало, хотя я не совсем уверен, почему.

Ваше приложение должно использовать поток аутентификации на основе перенаправления, такой как портал. Не следует обрабатывать пароли пользователей и публиковать их в Azure AD. Используя, например, поток кода авторизации, ваши пользователи могут войти в систему с локальной учетной записью / федеративной учетной записью / учетной записью Microsoft / учетной записью с многофакторной аутентификацией / сбросить просроченный пароль. Вашему приложению не нужно заботиться о том, что пользователь должен был сделать для аутентификации.

При использовании потока ROPC ваши пользователи не могут, например, использовать многофакторную аутентификацию. Они также не могут сбросить просроченный пароль.

См. Мою статью для дальнейших размышлений о том, почему следует избегать ROPC: https://joonasw.net/view/ropc-grant-flow-in-azure-ad

1 голос
/ 25 октября 2019

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

Дополнительная информация:

https://docs.microsoft.com/en-us/azure/active-directory-domain-services/tutorial-configure-password-hash-sync

https://docs.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-password-hash-synchronization

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