Изучаю vue.js и имеется функционал регистрации / авторизации по api. Бэк находится на другом сервере и хотелось бы перед отправкой запроса сделать сначала проверку токена на фронте (валидность и срок жизни), хотя бы насколько этой возможно. Для декодирования токена использую jwt-decode
Пока в голову приходит только такое
const token = localStorage.getItem('token');
if (token) {
const decoded = jwt_decode(token);
if (typeof decoded !== 'object') {
// если маршрут требует авторизации, то отправляем на страницу авторизации
} else {
let shelfLife = decoded.exp * 1000,
currentDate = new Date();
if (shelfLife < currentDate) {
// делаем запрос на обновление токена
}
}
}
И выполнять этот код глобальных навигационных хуках router.beforeEach
Правильный ли это подход и как вообще делать проверку токена в таких случаях? Либо стоит просто в любом случае отправлять запрос на бэк и уже там проверять токен?