Я пытаюсь запросить авторизационный код как documented here. Я использую Python запрашивает пакет, чтобы сделать это, и иметь следующий пример кода:Azure Access Token Request return HTML
import requests
auth_endpoint = 'https://login.microsoftonline.com/%s/oauth2/authorize?api-version=1.0' % TENANT_ID
payload = {
'client_id': CLIENT_ID,
'response_type': 'code',
'resource': APP_ID_URI,
'redirect_uri': REPLY_URL
}
response = requests.get(url=auth_endpoint, data=payload)
Однако, когда я запускаю код выше, я получаю обратно HTML в теле, а не ответ я ожидал. Кажется, что код HTML предназначен для страницы входа. Когда я беру форматированный URI конечной точки и подключаю его к браузеру, я могу получить код аутентификации из URI перенаправления. Но есть ли способ получить это из тела ответа при использовании пакета запросов?
Вы попробовали 'params = payload'? Или это должно быть сообщение? –
Код авторизации Grant Flow требует взаимодействия с пользователем, что означает, что вы должны создать URL-адрес, поместить его в веб-браузер, войти в систему с именем пользователя и паролем, а затем вы можете получить свой код авторизации по URL-адресу переадресации. Если вам нужен только токен доступа, вам действительно не нужно использовать поток полномочий для кода авторизации. Вы можете попробовать учетные данные клиента вместо кода авторизации. –