Мартовский Код

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 дней.

Как мы это делаем

Разобраться, нужен ли вам jwt

Проекты — от 130 000 ₽, прототип бесплатно

Опишите задачу в двух предложениях — за 48 часов вернём письменный разбор: какая технология её закрывает, какая будет лишней тратой и в какую вилку бюджета это укладывается. Разбор остаётся у вас в любом случае.

Если задачу закрывает готовая коробка — так и скажем. Комиссий от вендоров не берём.

Продолжите изучение

Читайте также

Услуга

От 200К · 5 дней

Веб-приложения

Создаём веб-приложения: личные кабинеты, B2B-порталы, дашборды. Next.js, React, интеграция с 1С и CRM. От 200К, кликабельный прототип — бесплатно за 5 дней.

Подробнее
Глоссарий

Микросервисы

Микросервисы — архитектура из независимых модулей, каждый со своей БД. Масштабируются автономно, ускоряют релизы и снижают риски. Когда выбрать монолит.

Подробнее
Глоссарий

OAuth

OAuth 2.0 — открытый протокол делегированной авторизации: вход через Google, VK, GitHub без передачи пароля. Flow, токены доступа, отличие от OpenID Connect.

Подробнее
Глоссарий

REST API

REST API — архитектурный стиль обмена данными через HTTP: ресурсы, методы (GET, POST, PUT, DELETE), статусы, JSON. Отличие от SOAP и GraphQL, принципы дизайна.

Подробнее