Получите "код" при использовании Azure AD Graph API из ответа - PullRequest
0 голосов
/ 28 мая 2020

Этот вопрос связан с другим сообщением: как получить «код» для получения 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 код. Что я могу сделать?

Спасибо!

...