Где можно безопасно хранить токен на фронте в браузере, чтобы его не угнали?

Абсолютно неуязвимого хранилища в браузере нет. Для web-сессии часто выбирают серверную сессию и cookie с HttpOnly, Secure и подходящим SameSite, уменьшая доступ JavaScript к секрету.

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

Что ответить на собеседовании

Абсолютно неуязвимого хранилища в браузере нет. Для web-сессии часто выбирают серверную сессию и cookie с HttpOnly, Secure и подходящим SameSite, уменьшая доступ JavaScript к секрету.

Подробный разбор

Ответ с пояснениями

Абсолютно неуязвимого хранилища в браузере нет. Для web-сессии часто выбирают серверную сессию и cookie с HttpOnly, Secure и подходящим SameSite, уменьшая доступ JavaScript к секрету.

HttpOnly мешает прочитать cookie из JavaScript, но XSS всё ещё может выполнять действия от имени пользователя. Нужны защита от XSS, CSRF, короткие сроки и отзыв сессии. LocalStorage доступен любому выполняющемуся скрипту того же origin, поэтому долгоживущий токен там повышает последствия XSS. Выбор должен учитывать архитектуру, а не обещать защиту одним флагом.

Источник: cheatsheetseries.owasp.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее