Этот вопрос связан с другим сообщением: как получить «код» для получения access_token при использовании Azure AD Graph API . Позвольте мне открыть новую тему, так как я не могу написать комментарий. Я постараюсь объяснить свою проблему как можно лучше:
Контекст
Мое приложение - это веб-сервер, написанный на Django с несколькими REST API, используемыми интерфейсом. . У меня был API для регистрации пользователей, который раньше отлично использовал API входа в Microsoft. Все было хорошо, пока мы не узнали, что у некоторых клиентов есть MFA, и мы больше не можем использовать api.
Возможное решение
Я выполнил инструкции в https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow для получения токена и могу сделать это правильно вручную. То есть:
Шаг 1: Я пишу этот URL-адрес в браузере и вхожу в систему
// Line breaks for legibility only
"https://login.microsoftonline.com/<tenant>/oauth2/v2.0/authorize?
client_id=<client_id>
&response_type=code
&redirect_uri=<redirect_uri>
&response_mode=query
&scope=https://graph.microsoft.com/.default"
Шаг 2: Ответ, который я получаю в адресной строке браузера, содержит код. Я извлекаю его вручную, используя консоль.
<redirect_uri>/?code=?code=<authorization_code>&session_state=<session_state>
Шаг 3: С помощью этого кода я могу запросить токен для API:
// Line breaks for legibility only
POST /{tenant}/oauth2/v2.0/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
client_id=<client_id>
&scope=https://graph.microsoft.com/.default
&code=<authorization_code>
&redirect_uri=<redirect_url>
&grant_type=authorization_code
&client_secret=<client_secret>
Проблема
Хорошо, пока все работает нормально, проблема в том, что мне нужно получить код на шаге 2 вручную, и я хочу включить его в свой Django код. Что я могу сделать?
Спасибо!