Cześć, chciałem zapytać czy takie odświeżanie tokenu jwt w vue jest ok czy powinno być to ogarnięte w inny sposób?
let jwtToken = localStorage.getItem('token');
if (jwtToken){
setHeaderToken();
axios.interceptors.response.use(function (response) {
return response;
}, function (error) {
if (error.response.status === 401) {
refreshToken();
}
})
}
function setHeaderToken() {
axios.defaults.headers.common['Authorization'] = 'Bearer ' + localStorage.getItem('token');
}
function refreshToken() {
axios.post('refresh-token')
.then((data) => {
localStorage.setItem('token', data.data.access_token);
setHeaderToken();
})
.catch(() => {
localStorage.removeItem('token');
localStorage.removeItem('userId');
return this.$router.push({path: '/'});
})
}