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

Как организовывал работу Access Token

Обычно Access Token хранится в localStorage или sessionStorage, но это небезопасно из-за XSS-атак. Более безопасный вариант - httpOnly куки, но они недоступны из JS.

Лучшая практика:

  1. Короткоживущий Access Token (5-15 мин) в памяти приложения
  2. Refresh Token в httpOnly Secure SameSite куке для продления сессии

Пример:

js
// Получение нового токена
async function refreshToken() {
  const response = await fetch('/refresh', {
    credentials: 'include' // Отправляем refresh token из куков
  });
  const { accessToken } = await response.json();
  return accessToken;
}

// Добавление токена к запросу
async function fetchWithAuth(url) {
  let token = getTokenFromMemory();
  if (!token) {
    token = await refreshToken();
    saveTokenToMemory(token);
  }
  // ...
}

Такой подход защищает от XSS и CSRF.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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