В какой момент проверять валидность и срок жизни токена vue.js?

Изучаю 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

Правильный ли это подход и как вообще делать проверку токена в таких случаях? Либо стоит просто в любом случае отправлять запрос на бэк и уже там проверять токен?
  • Вопрос задан
  • 728 просмотров
Решения вопроса 1
WblCHA
@WblCHA
Зачем создавать себе геморой на ровном месте, когда можно дождаться ответа от сервера и обработать его ответ? Тем более, что эту проверку тебе придётся делать при КАЖДОМ запросе, иначе в ней вообще нет смысла. И та же самая проверка будет проводиться сервером.
Так для чего тащить логику бека на фронт?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы