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-разработка
Превращаем вашу идею в облачный продукт с подписочной моделью. Мультитенантная архитектура, биллинг, аналитика — всё, что нужно для успешного SaaS.
Веб-приложения
Создаём веб-приложения: SPA, PWA, порталы, личные кабинеты, SaaS-платформы. Next.js, React, TypeScript. От 200К, MVP за 4 недели.
REST API
REST API: что это, как работает, чем отличается от других API. Понятное объяснение для бизнеса.
Микросервисы
Микросервисная архитектура: что это, когда нужна бизнесу. Плюсы, минусы, сравнение с монолитом.
OAuth
OAuth: что это, как работает, зачем нужен. Авторизация через Google, GitHub, VK — как это устроено под капотом.
Готовы начать проект?
Расскажите о задаче — мы предложим решение, сроки и стоимость. Первая консультация бесплатна.
30 минут · Бесплатно · Без обязательств