У меня есть приложение, в котором мы генерируем токен JWT и передаем этот токен в заголовок при следующем вызове API. В ответ я должен получить ключ. Я могу увидеть ответ через почтальона. Я использую ReactJS в Front End и пытаясь добиться того же, передав токен JWT в заголовке при выполнении вызова api, но столкнувшись с некоторыми проблемами. Мой код-
getKey() {
let postData = {
vin: "5678",
id: "abc12",
};
axios({
method: "post",
url: "http://localhost:8080/generateKey",
headers: {
"Content-Type": "application/json"
},
data: postData
})
.then(function(response) {
setKey(response.data.key);
})
.catch(function(error) {
console.info(error);
getKeyError();
});
}
memberAuth() {
var self = this;
axios({
method: "GET",
url: "http://localhost:8080/authenticateMember",
headers: {
"Content-Type": "application/json",
"Authorization": localStorage.setItem()
},
data: {
"id":"xyzzy",
"password":"abc"
}
})
.then(function(response) {
//to do
}
Я пытаюсь сохранить сгенерированный токен (действительный в течение 30 минут) в localStorage / SessionStorage, но не уверен, что это правильный способ. Может кто-нибудь сказать мне, где я ошибаюсь.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Создайте экземпляр вашего axios,
const agent = axios.create({
baseURL: config.api_url,
transformRequest: [transformRequest],
transformResponse: [transformResponse],
headers: { 'Content-Type': 'application/vnd.api+json' },
});
А затем вызовите эту функцию для динамической установки заголовков.
agent.defaults.headers.common['Authorization'] = `JWT ${localStorage.getItem('token')}`;
Затем вызовите методы вашего экземпляра axios для выполнения вызовов API.
agent.get(`${endpoint}search`, { params }),
agent.post(`${endpoint}search`, JSON.stringify(body)),