How can I get an axios interceptor to retry the original request?
You could do something like this:
axios.interceptors.response.use(function (response) { return response;}, function (error) { const originalRequest = error.config; if (error.response.status === 401 && !originalRequest._retry) { originalRequest._retry = true; const refreshToken = window.localStorage.getItem('refreshToken'); return axios.post('http://localhost:8000/auth/refresh', { refreshToken }) .then(({data}) => { window.localStorage.setItem('token', data.token); window.localStorage.setItem('refreshToken', data.refreshToken); axios.defaults.headers.common['Authorization'] = 'Bearer ' + data.token; originalRequest.headers['Authorization'] = 'Bearer ' + data.token; return axios(originalRequest); }); } return Promise.reject(error);});