JWT
JWT (JSON Web Token, произносится «джот») — это компактный токен, который содержит информацию о пользователе в зашифрованном виде. Сервер выдаёт JWT при входе, а клиент передаёт его с каждым запросом — вместо того чтобы каждый раз отправлять логин и пароль.
JWT состоит из трёх частей, разделённых точкой: заголовок (алгоритм шифрования), полезная нагрузка (данные: ID пользователя, роль, срок действия) и подпись (гарантия подлинности). Всё закодировано в Base64 — это одна длинная строка, которая легко передаётся в HTTP-заголовке.
Главное преимущество JWT — серверу не нужно хранить сессии. Вся информация уже внутри токена. Сервер просто проверяет подпись — если она верна, данным можно доверять. Это удобно для микросервисной архитектуры: любой сервис может проверить токен, не обращаясь к централизованному хранилищу сессий.
Но есть нюанс: отозвать JWT до истечения срока невозможно без дополнительных механизмов (чёрный список токенов). Поэтому access-токены делают короткоживущими (15-30 минут), а для обновления используют refresh-токен.
Ключевые преимущества
- Содержит данные о пользователе внутри токена
- Не требует хранения сессий на сервере
- Идеален для микросервисов и API
- Три части: заголовок, полезная нагрузка, подпись
- Короткий срок жизни + refresh-токен для безопасности
Примеры
Личные кабинеты и SaaS-платформы: после входа сервер выдаёт JWT, который браузер отправляет с каждым запросом. Мобильные приложения: JWT хранится в защищённом хранилище устройства. Микросервисная архитектура: сервисы проверяют JWT самостоятельно, без обращения к auth-серверу.
Когда это нужно
JWT нужен, когда: разрабатываете REST API с аутентификацией, строите микросервисную архитектуру, нужна авторизация для мобильного и веб-приложения одновременно, хотите масштабировать серверы без «липких» сессий.
Связанные термины
Частые вопросы
JWT безопасен?
JWT безопасен при правильном использовании: короткий срок жизни access-токена (15-30 мин), refresh-токен с ротацией, HTTPS обязательно, токен не хранится в localStorage (лучше httpOnly cookie). Без этих практик — уязвим для перехвата.
Чем JWT лучше обычных сессий?
JWT не требует хранения состояния на сервере — проще масштабировать. Работает с разными клиентами (веб, мобилка, API). Но сессии проще отозвать. Выбор зависит от архитектуры: для монолита сессии проще, для микросервисов — JWT.
Где это применяется
Разработка SaaS-сервисов
Запускаем сервисы по подписке: мультитенантность, биллинг Stripe и ЮKassa, метрики MRR и churn. MVP-ядро SaaS — от 390 000 ₽ за 8–10 недель, кликабельный прототип бесплатно за 5 дней.
Как мы это делаемПродолжите изучение

