Проблема с «предоставлением учетных данных пароля владельца ресурса» в Azure AD OAuth - PullRequest
0 голосов
/ 14 сентября 2018

Невозможно получить токен доступа, напрямую передавая имя пользователя и пароль

Конечная точка: https://login.microsoftonline.com/{tenant_id}/oauth2/token

grant_type: password
client_id: APPLICATION_ID
resource: https://graph.microsoft.com/.default
username: <username@microsoft.com>
password: <password>
Scope : openid

Приложение создано в https://apps.dev.microsoft.com/

Ошибка получения недопустимого гранта:

{
"error": "invalid_grant",
"error_description": "AADSTS70002: Error validating credentials. AADSTS50126: Invalid username or password\r\nTrace ID: 1ff96bc3-29c8-48f1-b7cc-f77c01525500\r\nCorrelation ID: 9821fdf5-25dc-4b07-84b3-f084194ea123\r\nTimestamp: 2018-09-14 20:04:01Z",
"error_codes": [
    70002,
    50126
],
"timestamp": "2018-09-14 20:04:01Z",
"trace_id": "1ff96bc3-29c8-48f1-b7cc-f77c01525500",
"correlation_id": "9821fdf5-25dc-4b07-84b3-f084194ea123"
}

token response

Ответы [ 2 ]

0 голосов
/ 16 сентября 2018

ОБНОВЛЕНИЕ

Похоже, здесь есть несколько проблем.

  1. Вы использовали конечную точку токена Azure AD, но зарегистрировали свое приложение в Azure AD B2Cпо ошибке (так случай 2 согласно моему первоначальному ответу).

  2. Теперь, после исправления этого, вы должны использовать клиентские и клиентские секреты для этого нового приложения, зарегистрированного в Azure AD.

  3. Создатьубедитесь, что вы добавили разрешения Microsoft Graph для своего приложения в Azure AD в разделе «необходимые разрешения», и в конце выбора соответствующих разрешений обязательно нажмите кнопку «Предоставить разрешения», чтобы дать согласие.

  4. Глядя на сообщение об ошибке и код, который вы получаете (invalid_grant и «AADSTS70002: Ошибка при проверке учетных данных. AADSTS50126»), я опробовал ROPC точно так же, как вы из Postman, с моим собственным тестовым приложением, и я попробовал несколько различных комбинаций.передачи неправильных входных данных, но точные коды ошибок, которые вы видите, появляются только в том случае, если мой пароль или имя пользователя неверны (как говорится в сообщении :)).Во всех других случаях код ошибки будет другим.

enter image description here

Итак, для имени пользователя - убедитесь, что вы даете полное имянапример, rohitsaigal@mydomain.onmicrosoft.com

для пароля - довольно очевидно.

Сделайте еще одну попытку на основе приведенных выше инструкций и давайте посмотрим, как это происходит.

ОРИГИНАЛЬНЫЙ ОТВЕТ

Приложение создано в https://apps.dev.microsoft.com/

Это означает, что ваше приложение зарегистрировано в Azure AD B2C.

Если вы зарегистрировали свое приложение, оно не соответствует конечной точке токена, которую вы используете.

Случай 1 - вы собираетесь использовать Azure AD B2C

Пароль владельца ресурсаПредоставление учетных данных все еще находится в открытом предварительном просмотре, и вам необходимо будет следовать инструкциям, предоставленным Microsoft здесь -

Настройка потока учетных данных пароля владельца ресурса в Azure AD B2C

конечная точка, которую вы нажмете, чтобы получить токен, также будет отличаться от той, которую вы упомянули.

https://yourtenant.b2clogin.com/<yourtenant.onmicrosoft.com>/oauth2/v2.0/token?p=B2C_1_ROPC_Auth

Случай 2 - вы собираетесь использовать Azure AD B2B

В этом случае выиспользуя правильную конечную точку для получения токена, но вы неправильно зарегистрировали свое приложение в Azure AD B2C, вам потребуется изменить его и зарегистрировать свое приложение на портале Azure.

Инструкции и сведения здесь - Интеграция приложений с Azure Active Directory

На всякий случай, если вам нужно ознакомиться с различиями между AzureAD B2B v / s B2C - посмотрите эту публикацию SO

Вот еще одна полезная SO Post , которая предоставляет информацию о регистрации приложения через портал Azure v / s https://apps.dev.microsoft.com (Портал регистрации новых приложений)

0 голосов
/ 15 сентября 2018

Похоже, вы не предоставили разрешения для вашего приложения.Убедитесь, что все пользователи добавлены в приложение, и убедитесь, что у вас указаны правильные параметры web.config.

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

...