Я настроил этот 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)?
Я действительно застрял в этой проблеме, большое спасибо за вашу помощь.