МК

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.

Готовы начать проект?

Расскажите о задаче — мы предложим решение, сроки и стоимость. Первая консультация бесплатна.

30 минут · Бесплатно · Без обязательств