JWT в HTTP-only файлах cookie
Подписывайте JWT и храните их в HTTP-only файлах cookie, чтобы предотвратить кражу токенов через XSS
«JWT в HTTP-only файлах cookie» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.
Основы JWT
JSON Web Tokens — это самодостаточные токены с утверждениями, подписанными вашим сервером.
Зачем нужен JWT
JWT устраняет необходимость хранить сеансы на сервере. Сам токен подтверждает личность пользователя.
Хранение в cookie с httpOnly
Установите JWT в cookie с параметром httpOnly, чтобы предотвратить кражу посредством XSS.
cookies.set("token", jwt, { httpOnly: true, secure: true, path: "/" });Избегайте localStorage
Никогда не храните JWT в localStorage. Атаки XSS могут прочитать его и выдать себя за пользователя.
Проверка в хуках
В handle проверьте подпись токена и декодируйте утверждения.
const token = event.cookies.get("token");
try { event.locals.user = verify(token, SECRET); } catch { event.locals.user = null; }Подпись секретом
Подписывайте токены надёжным секретом, известным только вашему серверу. Никогда не раскрывайте его.
Срок действия
Устанавливайте короткий срок действия (15–60 минут), а для продления используйте токены обновления.
Алгоритмы
Используйте HS256 для симметричной или RS256 для асимметричной (с открытым и закрытым ключами) подписи.
Токены обновления
Выдавайте токен обновления, чтобы получать новые токены доступа без повторного входа.
Стратегия выхода
Токены JWT нельзя мгновенно отозвать без чёрного списка. Используйте короткие сроки действия, чтобы снизить риск.
Библиотеки
Используйте пакеты npm jose или jsonwebtoken для подписывания и проверки.
Быстрая проверка
Где не следует хранить токены JWT?
Итоги
Храните токены JWT в cookie с флагом httpOnly, проверяйте их в хуках, устанавливайте короткие сроки действия и используйте токены обновления для продления.
Часто задаваемые вопросы
Урок «JWT в HTTP-only файлах cookie» бесплатный?
Да — полный текст урока «JWT в HTTP-only файлах cookie» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.
Чему я научусь в уроке «JWT в HTTP-only файлах cookie»?
Подписывайте JWT и храните их в HTTP-only файлах cookie, чтобы предотвратить кражу токенов через XSS Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Sveltejs Academy?
Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «JWT в HTTP-only файлах cookie»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Sveltejs Academy?
Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Сеансы на основе файлов cookie
- JWT в HTTP-only файлах cookie
- Защищённые маршруты в хуке handle()
- OAuth с SvelteKit и Lucia Auth