Проблема контекста: у нас есть приложение, использующее React и axios для выполнения некоторых запросов из нашего API. У нас также есть веб-сайт, который онлайн и хорошо. Мне нужно разработать часть приложения "Аккаунт", но времени и денег не хватает. Решение состоит в том, чтобы сделать ссылку в приложении, которая перенаправляет на раздел «Аккаунт» на сайте.
Итак, я должен передать заголовок авторизации с токеном на предъявителя в моем запросе, а затем открыть это окно с токеном. Но я действительно не могу заставить эту работу. Я попробовал с axios, но мне не очень удобно с ним (не я, который разрабатывает целое приложение). Поэтому я пытаюсь использовать старый XMLHttpRequest ().
<a onClick={this.onRedirectAccount}>
onRedirectAccount = e => {
e.preventDefault();
var redirectAccountUrl = "urlToMyAccountOnWebsite";
const http = new XMLHttpRequest();
http.open("GET", redirectAccountUrl);
http.withCredentials = true;
http.setRequestHeader("Accept", "application/json, text/plain, */*");
http.setRequestHeader('authorization', 'Bearer '+ localStorage.getItem("token") );
http.send();
window.open(redirectAccountUrl);
Если я сделаю запрос на Почтальоне, я вижу, что я подключен как пользователь. Я также подключен как пользователь, когда я просматриваю предварительный просмотр моего запроса в браузере. Но открывающееся окно все еще говорит мне, что я не связан. Я думаю, это потому, что мой window.open не держит заголовок Authorization сам по себе.
Есть ли у вас какие-либо идеи о том, что я делаю неправильно, какие-либо подсказки, чтобы решить эту проблему? Спасибо и, пожалуйста, не стесняйтесь спрашивать более подробную информацию, если это необходимо.