Это может показаться дубликатом, но это не так.Я узнал много других вопросов / ответов.
В этом случае я включил Spring Boot Security для генерации токена JWT при входе пользователя в систему - это работает хорошо.
Когда токен доступавернулся Мне нужно позвонить в защищенную конечную точку, чтобы получить некоторую информацию от этого пользователя.
В Frontend я использую ReactJS с Axios, каждый вызов работает нормально, если я не пытаюсь вызвать защищенную конечную точку, передаваятокен в свойстве Authorization
в заголовке.
Странно то, что при тестировании с использованием Postman он работает отлично: 1) Войдите в систему с помощью электронной почты и пароля. 2) Получите возвращенный токен и сделайте любой вызов любомузащищенная конечная точка
Что почтальон делает так отличается от того, что я делаю, что Authorization
в заголовке никогда не отправляется?
Я использую перехватчик для ввода токена в запросах, когдатокен существует в локальном хранилище (и он существует):
export const api = axios.create({
baseURL: ROOT_API
});
api.interceptors.request.use(async config => {
config.headers["Accept"] = "application/json; charset=utf-8";
config.headers["Content-Type"] = "application/json; charset=utf-8";
config.headers["If-Modified-Since"] = "Mon, 26 Jul 1997 05:00:00 GMT";
config.headers["Cache-Control"] = "no-cache";
const token = await getToken();
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
console.log("config => ", config);
return config;
});
Но при каждом моем вызове я получаю код состояния 401, потому что, oКонечно, токен никогда не попадает в API на стороне сервера.
![enter image description here](https://i.stack.imgur.com/mmhGi.png)
Как видно на рисунке, это заголовок, который предполагалсябыть отправленным.Но когда я проверяю на стороне сервера, он всегда равен нулю.
Буду признателен за любую помощь в этом.