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

В чем разница между хранением refresh token в localStorage и в cookie

Хранение refresh token в localStorage и cookie имеет ключевые различия в безопасности и удобстве:

  1. localStorage:
    • Доступен только через JavaScript в рамках одного домена.
    • Уязвим к XSS-атакам (злоумышленник может украсть токен через внедренный скрипт).
    • Не отправляется автоматически на сервер, нужно передавать вручную (например, через заголовки).
  1. cookie:
    • Может быть защищен атрибутами HttpOnly (блокирует доступ из JS) и Secure (только HTTPS).
    • Уязвим к CSRF-атакам (но защищается через SameSite=Strict/Lax).
    • Автоматически отправляется на сервер с каждым запросом, если соответствует domain/path.

Пример cookie с защитой:

javascript
// Сервер устанавливает cookie
Set-Cookie: refreshToken=abc123; HttpOnly; Secure; SameSite=Strict; Path=/auth

Вывод: Для refresh token предпочтительнее HttpOnly cookie, так как это снижает риск XSS. localStorage стоит использовать только если нужен контроль со стороны клиента (например, для SPA без бэкенда).

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

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

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

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