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

Как была организована работа с Refresh Token

Refresh Token используется для получения нового Access Token без повторной аутентификации. Основной подход:

  1. После успешного входа сервер возвращает:

    • Access Token (короткоживущий, например, 15-30 минут)
    • Refresh Token (долгоживущий, например, 7-30 дней)
  2. Refresh Token хранится в httpOnly cookie или secure storage (не localStorage!)

  1. При истечении Access Token клиент отправляет Refresh Token на специальный эндпоинт (например, /refresh) для получения новой пары токенов.

Пример кода:

javascript
async function refreshTokens() {
  const response = await fetch('/api/refresh', {
    method: 'POST',
    credentials: 'include' // для отправки httpOnly cookie
  });
  
  if (!response.ok) throw new Error('Refresh failed');
  return response.json(); // { accessToken, refreshToken }
}

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

  • Refresh Token должен быть одноразовым (после использования инвалидируется)
  • Нужна защита от replay-атак
  • Лучше использовать Rotation (обновление Refresh Token при каждом использовании)
  • При логауте нужно удалять оба токена на сервере
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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