Встречается на собеседованиях • сегодня

Как происходит обновление токена на стороне Frontend

Обновление токена на фронтенде обычно реализуется через механизм refresh token:

  1. При получении 401 ошибки от API фронтенд отправляет refresh-токен на специальный эндпоинт
  2. Если refresh-токен валиден, сервер возвращает новую пару access/refresh токенов
  3. Фронтенд сохраняет новые токены (обычно в localStorage/cookies) и повторяет исходный запрос

Пример реализации с помощью axios:

javascript
axios.interceptors.response.use(
  response => response,
  async error => {
    if (error.response.status === 401) {
      const newTokens = await refreshTokens();
      localStorage.setItem('accessToken', newTokens.access);
      error.config.headers.Authorization = `Bearer ${newTokens.access}`;
      return axios(error.config);
    }
    return Promise.reject(error);
  }
);

Важные моменты:

  • Refresh-токен должен иметь ограниченный срок жизни
  • Нужна обработка случая, когда refresh-токен тоже протух
  • Для безопасности refresh-токен лучше хранить в HttpOnly куках
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы