Sobes.tech
Назад к вопросам
Middle+
15

Расскажи про хранение данных: куки, localStorage, sessionStorage. Как происходила авторизация с токенами на твоём проекте?

Компании, где спрашивали
IT OneIT One

Ответ от нейросети

sobes.tech AI

Куки, localStorage и sessionStorage — это разные механизмы хранения данных в браузере:

  • Куки — маленькие данные, которые браузер отправляет на сервер с каждым запросом. Используются для хранения сессий и авторизации. Имеют ограничения по размеру и могут быть настроены с флагами безопасности (HttpOnly, Secure).

  • localStorage — хранилище на стороне клиента, данные сохраняются без срока действия, доступны только на стороне клиента, не отправляются на сервер автоматически.

  • sessionStorage — похож на localStorage, но данные живут только в рамках одной сессии (вкладки), удаляются при закрытии вкладки.

В моих проектах для авторизации часто использовали JWT (JSON Web Token), который хранился в localStorage или в HttpOnly куках. Хранение в localStorage удобно, но менее безопасно из-за XSS-атак. Хранение в HttpOnly куках защищает от XSS, но требует CSRF-защиты.

Пример авторизации с токеном:

  1. Пользователь вводит логин/пароль.
  2. Сервер возвращает JWT.
  3. Токен сохраняется в localStorage или в куках.
  4. При последующих запросах токен добавляется в заголовок Authorization.

Такой подход позволяет серверу проверять подлинность пользователя без хранения сессий на сервере.