Я делаю игрушечный проект, используя Spring boot с реакции. js.
Мне просто интересно, почему мой ответ топора ios -interceptors-response не может быть использован для реферера токена sh.
Почти все другие примеры, которые я видел, используют запрос-перехватчик для переопределения sh их токена доступа.
Это из-за бесконечного l oop, например: login -> interceptors.request -> AccessTokenInvalid - > получить новый AccessToken с топором ios -> interceptor et c.
Или есть другой способ управления refre sh токеном?
ax ios .interceptors.response
axios.interceptors.response.use((response) => {
return response
},
function (error) {
const originalRequest = error.config;
const refreshToken = localStorage.getItem('refreshToken');
if (error.response.status === 403 && !originalRequest._retry && validateTimeRefreshToken &&
!validateTimeAccessToken()) {
return axios.post('http://localhost:8080/jpa/system/getat', { "refreshToken": refreshToken })
.then(res => {
if (res.status === 200) {
sessionStorage.setItem('accessToken', res.data.data.accessToken);
sessionStorage.setItem('memberId', res.data.data.memberId);
sessionStorage.setItem('role', res.data.data.role);
axios.defaults.headers.common['Authorization'] = sessionStorage.getItem('accessToken');
return axios(originalRequest);
}
})
}
else if ((!validateTimeRefreshToken())) {
sessionStorage.clear();
localStorage.clear();
window.location.href = "http://localhost:3000";
alert('Session out');
}
return Promise.reject(error);
});