Показать сообщение отдельно
  #34 (permalink)  
Старый 09.03.2021, 17:06
Интересующийся
Отправить личное сообщение для karaul Посмотреть профиль Найти все сообщения от karaul
 
Регистрация: 17.02.2021
Сообщений: 27

Питон делает из своей консоли для авторизации на внешнем сайте Гармине так
headers = {'origin': 'https://sso.garmin.com'}
и там все работает
Если я имитирую это поведение в JS с XMLHttpRequest
xhr.setRequestHeader('Origin', 'https://sso.garmin.com');
то получаю
Refused to set unsafe header Origin
Пишут что подменить заголовоr мешает броузер (хром). Незадача

Но есть еще один пакет для работы с Гармином на JS, в нем для авторизации используется axios вместо XMLHttpRequest и этот пакет работает из nodejs, и там также прописано в 'Origin', 'https://sso.garmin.com', иначе Гарминовский сайт возвращает пустую строку, а должен вернуть Cross-Site Request Forgery (CSRF) token

Если переписать браузерный код с XMLHttpRequest на axios, то получится выставить headers нужные для авторизации или это безнадежно?
Ответить с цитированием