Игнорировать многофакторную аутентификацию в запросе API azure graph - PullRequest
0 голосов
/ 09 апреля 2020

Я хочу проверить учетные данные пользователя из Azure AD. Он работает для пользователей, которые не включили MFA. Но пользователи с поддержкой MFA получают ошибку ниже.

Из-за изменения конфигурации, сделанного вашим администратором, или из-за того, что вы переехали в новое местоположение, вы должны использовать многофакторная аутентификация для доступа к

Так что нужен способ игнорировать MFA, когда мы получаем доступ через API графа

, это мой код.

     var values = new Dictionary<string, string>
        {
        { "grant_type", "password" },
        { "client_secret", appKey },
        { "client_id", clientId },
        { "username", userName },
        { "password", password },
        { "scope", "User.Read openid profile offline_access" },
        };

        HttpClient client = new HttpClient();
        string requestUrl = $"https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token";
        var content = new FormUrlEncodedContent(values);

        var response = client.PostAsync(requestUrl, content).Result;

        if (response.IsSuccessStatusCode)
        {
            return true;
        }
        else
        {
            return false;
        }

1 Ответ

0 голосов
/ 09 апреля 2020

Правильный способ проверки учетных данных пользователя - интерактивная аутентификация пользователя через браузер. Это позволит им go через MFA, войти через федерацию с ADFS et c. И самое главное, пользователям не нужно указывать свой пароль для вашего приложения.

Поток, который вы пытаетесь использовать, существует только в spe c в качестве пути обновления для устаревших приложений. Его использование становится практически невозможным после включения MFA.

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