Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад

Где рекомендуется хранить access token и refresh token и почему?

Вопрос проверяет знание best practices хранения токенов и понимание угроз безопасности во frontend.

Короткий ответ

Access token обычно хранится в памяти приложения или в JavaScript-переменной. Refresh token рекомендуется хранить в httpOnly cookies. Такое разделение снижает риск XSS-атак. Frontend не должен хранить оба токена в localStorage. Безопасность хранения напрямую влияет на устойчивость приложения.

Длинный ответ

Хранение токенов — один из самых критичных аспектов frontend-безопасности.

Хранение access token

Рекомендуемые варианты:

  • В памяти приложения (state, closure)

  • В runtime-переменной

Почему так:

  • Минимальный риск утечки

  • Токен очищается при перезагрузке страницы

  • Подходит для короткоживущих токенов

Нежелательные варианты:

  • localStorage

  • sessionStorage

Причина — уязвимость к XSS-атакам.

Хранение refresh token

Наиболее безопасный вариант:

  • httpOnly cookies

Преимущества:

  • Недоступен из JavaScript

  • Защищён от XSS

  • Автоматически отправляется браузером

Дополнительные флаги:

  • Secure

  • SameSite

Почему нельзя хранить оба токена в одном месте

Если злоумышленник получит:

  • access token → временный доступ

  • refresh token → постоянный доступ

Разделение хранения снижает последствия атак.

Вывод:
Access token лучше хранить в памяти, refresh token — в httpOnly cookies. Это считается наиболее безопасной и практичной схемой для SPA.

Уровень

  • Рейтинг:

    5

  • Сложность:

    8

Навыки

  • Networks

Ключевые слова

#token

#storage

Подпишись на React Developer в телеграм