Axios удалить заголовок Autorization если нет токена refresh и повторить запрос
Возникла такая проблема. В общем не могу понять как удалить заголовок Autorization и повторить запрос. В общем код примерно такой
const BASE_URL = 'мой url бекенда'
const axiosService = axios.create({
withCredentials: true,
baseURL: BASE_URL,
})
axiosService.interceptors.request.use(
(config) => {
const token = localStorage.getItem("access_token");
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
},
(error) => {
Promise.reject(error);
}
);
axiosService.interceptors.response.use(
(response) => response,
async (error) => {
const originalRequest = error.config;
const valid = localStorage.getItem("refresh_token");
if (!valid) {
localStorage.removeItem('access_token');
localStorage.removeItem('refresh_token');
//При таком коде не работае повтореый запрос вообще
//delete originalRequest.headers["Authorization"];
//return await axiosService(originalRequest)
//При таком коде при каждом запросе всё равно ошибка 401 но работает.
//return await axios(originalRequest.url, {
// method: originalRequest.method,
// withCredentials: true
//});
}
if (error.response.status === 401 && !originalRequest._isRetry) {
originalRequest._isRetry = true
// Мой запрос на обновления токена access
}
return Promise.reject(error);
},
);
Как мне реализовать что бы если нет токена refresh или он просрочен, выполнялся запрос без заголовка Authorization ? Подскажите пожалуйста.