Я пытаюсь получить доступ к API Graph Azure AD с помощью библиотеки запросов Python. Мои шаги - сначала получить код авторизации. Затем, используя код авторизации, я запрашиваю токен доступа / токен обновления и, наконец, запрашиваю API.
Когда я захожу в браузер, я могу получить код авторизации. Я копирую это, чтобы получить токен доступа. Однако я не смог сделать то же самое со скриптом Python. Я застрял в той части, где я получаю код авторизации.
Мой сценарий возвращает код ответа 200, но заголовки ответа не включают это поле. Я ожидал, что новый URL-адрес с кодом будет в заголовках ответов. Я также ожидал, что ответ будет с кодом 301.
Кто-нибудь знает, почему у моих заголовков ответов нет кода авторизации? Кроме того, учитывая код аутентификации, как мне вытащить его, чтобы затем получить токены доступа / обновления с помощью Python?
Мой код ниже:
import requests
s = requests.Session()
s.auth = (USERNAME, PASSWORD)
# Authorize URL
authorize_url = 'https://login.microsoftonline.com/%s/oauth2/authorize' % TENANT_ID
# Token endpoint.
token_url = 'https://login.microsoftonline.com/%s/oauth2/token' % TENANT_ID
payload = { 'response_type': 'code',
'client_id': CLIENT_ID,
'redirect_uri': REDIRECT_URI
}
request = s.get(authorize_url, json=payload, allow_redirects=True)
print request.headers