Я подробно описал проблему здесь: https://github.com/python-social-auth/social-core/issues/497
И я скопирую это здесь. Полный контекст заключается в том, что у меня возник сбой с серверным поставщиком Amazon для Django сторонней библиотеки python -social-auth.
(https://python-social-auth.readthedocs.io/en/latest/backends/amazon.html)
Специфический контекст c, однако, не имеет отношения к основной проблеме, которая заключается в том, что Amazon не выполняет запросы без User-Agent в заголовке.
Ожидаемое поведение
Аутентификация в Amazon должна работать так же, как и любой другой сервер, такой как Facebook или Google. В частности звонок на https://www.amazon.com/ap/user/profile? должен вернуть ответ: https://github.com/python-social-auth/social-core/blob/master/social_core/backends/amazon.py#L37
Войти через Amazon
Фактическое поведение
( Даже за пределами python -social-auth / social-core) при отправке запроса на https://www.amazon.com/ap/user/profile запросы не выполняются из кода python или команд cUrl, в то время как они преуспевают из Postman или Web браузеры.
Добавление «User-Agent» к заголовкам в cUrl или python устраняет эту проблему, так что я могу запросить данные профиля и получить успешный ответ.
Что такое шаги по воспроизведению этой проблемы?
Если у вас есть действительный access_token от Amazon
, вы можете попробовать это с заголовком user-Agent и без него:
import requests
url_str= 'https://www.amazon.com/ap/user/profile?access_token=<your-access-token>'
headers = {
'User-Agent': 'Mozilla'
}
response = requests.request("GET", url=url_str, headers=headers)
print(response.text)
Есть другие комментарии?
Это похоже на проблему с Amazon, но кто знает, решат ли они это или нет. Я не уверен, куда направить эту проблему на их сторону.