В какой момент проверять валидность и срок жизни токена 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

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

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

Войти через центр авторизации
Похожие вопросы