react axios и jwt авторизация. Не отправляется headers
- Сначала получаю token от сервера и записываю его в sessionStorage
export const AuthApi = {
async auth(username, password) {
const response = await instance.post("api-token-auth/", {username: username, password: password});
if (response.status === 200) {
sessionStorage.setItem('token', JSON.stringify(response.data.token));
return response;
}
}
}
- Забираю token из sessionStorage и прикрепляю к headers:
export const UsersApi = {
async getUsers() {
const token = JSON.parse(sessionStorage.getItem('token'));
const response = await axios.get("http://emphasoft-test-assignment.herokuapp.com/api/v1/users/", {headers: {
Authorization: `Bearer ${token}`
}});
return response
}
}
- Сервер возвращает такую ошибку:
detail: "Authentication credentials were not provided."
Перепробовал и одинарные кавычки для Authorization и двойные. Пробовал отправлять как Bearer, так и без него. Также отправлял Bearer JWT - ничего не привело к результату...
Ответы (1 шт):
Автор решения: Sergei Kirjanov
→ Ссылка
Поставьте console.log(token) после getItem.
Нужно понять, нету токена, или он шлется неправильно.
Если нет токена, смотрите порядок/причины вызова auth/getUsers.