Питон делает из своей консоли для авторизации на внешнем сайте Гармине так
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 нужные для авторизации или это безнадежно?