Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: JWT, token validation, expiration, backend, authentication

Каким образом бэкенд может отслеживать актуальность токена без лишних запросов от фронта?

Вопрос проверяет понимание механизмов проверки срока действия JWT токена на бэкенде без дополнительных запросов от клиента.

Короткий ответ

Бэкенд может отслеживать актуальность JWT токена, проверяя его срок действия (exp) без запросов от фронта. Токен содержит в себе дату истечения, которую сервер проверяет при каждом запросе. Если токен истек, сервер возвращает ошибку 401, и клиент должен получить новый токен через refresh token.

Длинный ответ

Как бэкенд проверяет актуальность токена

JWT (JSON Web Token) содержит в себе все необходимые данные для проверки, включая время истечения (exp). Бэкенд не нуждается в дополнительных запросах от фронта, так как вся информация уже закодирована в самом токене.

Процесс проверки

При каждом запросе сервер выполняет следующие шаги:

  • Извлекает токен из заголовка Authorization
  • Проверяет подпись токена с помощью секретного ключа
  • Проверяет срок действия (exp claim)
  • Если токен истек, возвращает 401 Unauthorized

Пример реализации на Node.js

const jwt = require('jsonwebtoken');

function verifyToken(req, res, next) {
  const token = req.headers['authorization']?.split(' ')[1];
  
  if (!token) {
    return res.status(401).json({ error: 'No token provided' });
  }

  try {
    const decoded = jwt.verify(token, process.env.JWT_SECRET);
    req.user = decoded;
    next();
  } catch (err) {
    if (err.name === 'TokenExpiredError') {
      return res.status(401).json({ error: 'Token expired' });
    }
    return res.status(403).json({ error: 'Invalid token' });
  }
}

Как работает refresh token

Для обновления токена без повторной аутентификации используется refresh token:

  • Access token живет короткое время (например, 15 минут)
  • Refresh token живет дольше (например, 7 дней)
  • Когда access token истекает, клиент отправляет refresh token на специальный endpoint
  • Сервер проверяет refresh token и выдает новый access token

Этот подход позволяет избежать постоянных запросов на проверку токена, так как проверка происходит только при каждом запросе к защищенным ресурсам.

Вывод

Использование JWT с встроенным механизмом истечения срока действия позволяет бэкенду эффективно управлять сессиями без дополнительных запросов от фронта, что снижает нагрузку на сервер и улучшает производительность приложения.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

  • Node.js

    Node.js

Ключевые слова

#JWT

#token validation

#expiration

#backend

#authentication

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию