Azure Ошибка взаимодействия oauth v2.0 с доверенным IP и MFA - PullRequest
2 голосов
/ 13 марта 2020

Я настроил этот Azure рабочий процесс аутентификации AD на моем веб-сервере:

1 - Логин пользователя по этому URL:

https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/authorize?
    client_id={client_id}
    &redirect_uri=https://example.com/callback
    &scope=openid%20https%3A%2F%2Fgraph.windows.net%2Fuser.read
    &response_mode=query
    &response_type=code

2 - (MFA) Пользователь отправляет форму с кодом, полученным на его телефон

3 - Пользователь перенаправляется на https://example.com/callback?code={azure_given_code}

4 - Я обмениваю {azure_given_code} на токен с помощью следующего запроса POST:

POST https://login.microsoftonline.com/{tenant_id}/oauth2/token

{
    "client_id": "{client_id}",
    "client_secret": "{client_secret}",
    "code": "{azure_given_code}",
    "grant_type": "authorization_code",
    "redirect_uri": "https://example.com/callback"
}

5 - Я получаю токен доступа и могу получить зарегистрированный -в пользователе с этого URL:

https://graph.windows.net/me?api-version=1.6

Я добавил IP-адрес нашего офиса в список доверенных IP-адресов, чтобы пользователи могли обходить MFA при подключении из нашей сети.

Все работает нормально если я делаю этот рабочий процесс за пределами офисной сети (с ненадежного IP-адреса, запускающего MFA). Но с моим офисным ip, шаг 2 обойден (как и ожидалось), и на шаге 3 я получаю следующую ошибку:

{
    "error": "interaction_required",
    "error_description": "AADSTS50076: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access …",     "error_codes": [50076],
    "timestamp": "2020-03-13 12:54:58Z",
    "trace_id": '...'
}

Чего мне не хватает, чтобы этот рабочий процесс работал в обоих случаях (с доверенного и ненадежного ip)?

Я действительно застрял в этой проблеме, большое спасибо за вашу помощь.

...