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

Где желательно хранить Token

Токен желательно хранить в HttpOnly куках или localStorage/sessionStorage, в зависимости от требований безопасности:

  1. HttpOnly Cookies – защищены от XSS, но уязвимы к CSRF. Лучше для sensitive данных (например, access token).
    js
    // Сервер устанавливает куку с флагами Secure, HttpOnly, SameSite
    Set-Cookie: token=abc123; HttpOnly; Secure; SameSite=Strict
  1. localStorage – доступен через JS, уязвим к XSS, но удобен для SPA. Подходит для non-sensitive данных (например, theme preferences).

  2. sessionStorage – аналогично localStorage, но очищается при закрытии вкладки.

Важно:

  • Refresh Token всегда храните в HttpOnly куках.
  • Для защиты от CSRF используйте SameSite атрибут или CSRF-токены.
  • Не храните токены в URL или глобальных переменных.

Пример безопасного подхода:

js
// Access Token в памяти (SPA) или HttpOnly куке  
// Refresh Token только в HttpOnly куке  
fetch('/api/data', {  
  headers: {  
    'Authorization': `Bearer ${memoryToken}` // Временное хранение  
  }  
});  
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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