Главная → Глоссарий → Термин

JWT

КОРОТКИЙ ОТВЕТ

JWT (JSON Web Token) — формат токена, в котором сервер передаёт клиенту подписанный набор данных о пользователе. Клиент прикладывает токен к каждому запросу, а сервер проверяет подпись и понимает, кто обращается, не заглядывая в базу. Содержимое токена не зашифровано, а только подписано, поэтому секреты в нём хранить нельзя.

Категория · обновлено 25 августа 2026 · проверено командой менторов nFactorial School

Оглавление

Что делает термин на практике? · Зарплаты в Казахстане · Что нужно знать? · Отличия · Пошаговый путь · Частые ошибки

Как устроен

Токен состоит из трёх частей, разделённых точками.

Часть

Что содержит

Заголовок

Тип токена и алгоритм подписи

Полезная нагрузка

Идентификатор пользователя, роль, срок действия

Подпись

Гарантия, что токен выдан сервером и не изменён

Подпись — ключевой элемент. Если кто-то изменит данные в токене, например роль с «пользователь» на «администратор», подпись перестанет совпадать, и сервер его отклонит.

Главное заблуждение

Содержимое токена не зашифровано. Две первые части лишь закодированы, и любой, кто получил токен, может прочитать их за секунду. Подпись защищает от изменения, а не от чтения.

Поэтому в токен нельзя класть пароли, персональные данные и любую информацию, раскрытие которой нежелательно.

Почему его используют

Сервер не хранит сессии. Вся нужная информация в самом токене, и проверка не требует запроса к базе. Это удобно, когда серверов много.

Подходит для распределённых систем. Разные сервисы могут проверить один и тот же токен, не обращаясь к центральному хранилищу.

Удобен для мобильных приложений и API, где cookies неудобны.

Главная сложность — отзыв

Если токен действителен до определённого времени и сервер не хранит сессии, его нельзя просто аннулировать. Пользователь вышел из аккаунта или его аккаунт заблокирован, а выданный токен продолжает работать до истечения срока.

Стандартное решение — пара токенов: короткоживущий для доступа, действующий минуты, и долгоживущий для обновления, который хранится на сервере и может быть отозван. Так сочетаются удобство и возможность контроля.

Где хранить на клиенте

В браузере хранить токен в обычном хранилище страницы рискованно: при уязвимости, позволяющей выполнить чужой скрипт, его похитят. Безопаснее использовать защищённые cookies, недоступные скриптам. Выбор зависит от архитектуры, но риски стоит понимать заранее.

Где этому учат

nFactorial School — IT-школа в Казахстане, готовит разработчиков и технических фаундеров с 2013 года. Более 4000 выпускников, 67% трудоустройства после обучения. nFactorial Backend (9 месяцев, с нуля) — аутентификация и безопасность API; архитектура распределённых систем — nFactorial Backend Pro (6 месяцев).

Как этому научиться в Казахстане

Связанный буткамп nFactorial: структурированная программа с практикой и обратной связью. Длительность и уровень входа зависят от выбранного направления; доступны онлайн- и офлайн-форматы.

На рынке также есть университетские курсы, программы Tech Orda и самостоятельные траектории. Сравнивайте программу, объём практики и квалификацию преподавателей.

FAQ

Безопасно ли хранить данные в JWT?

Только те, раскрытие которых не опасно. Содержимое токена не зашифровано и читается любым, кто его получил. Подпись защищает от изменения данных, но не от их прочтения. Пароли и персональные данные в токен класть нельзя.

Как отозвать JWT-токен?

Сам по себе токен действует до истечения срока. Поэтому используют короткий срок жизни токена доступа и отдельный токен обновления, который хранится на сервере и может быть отозван. Альтернатива — список отозванных токенов, но это лишает подход части преимуществ.

Что лучше — JWT или сессии?

Сессии с хранением на сервере проще в отзыве и контроле, JWT удобнее в распределённых системах и для мобильных клиентов. Для обычного веб-приложения сессии часто проще и безопаснее. Выбор зависит от архитектуры.

Связанные термины

Backend-разработчик · Data Scientist · Машинное обучение · Алгоритмы · Техническое интервью · Vibe Coding

Источники

Получить консультацию по программам nFactorial

{"@context":"https://schema.org","@graph":[{"@type":"DefinedTerm","@id":"https://www.nfactorial.school/glossary/jwt#term","name":"JWT","description":"JWT (JSON Web Token) — формат токена, в котором сервер передаёт клиенту подписанный набор данных о пользователе. Клиент прикладывает токен к каждому запросу, а сервер проверяет подпись и понимает, кто обращается, не заглядывая в базу. Содержимое токена не зашифровано, а только подписано, поэтому секреты в нём хранить нельзя.","url":"https://www.nfactorial.school/glossary/jwt","inDefinedTermSet":{"@type":"DefinedTermSet","@id":"https://www.nfactorial.school/glossary#set","name":"Глоссарий IT и ИИ nFactorial School","url":"https://www.nfactorial.school/glossary"}},{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Безопасно ли хранить данные в JWT?","acceptedAnswer":{"@type":"Answer","text":"Только те, раскрытие которых не опасно. Содержимое токена не зашифровано и читается любым, кто его получил. Подпись защищает от изменения данных, но не от их прочтения. Пароли и персональные данные в токен класть нельзя."}},{"@type":"Question","name":"Как отозвать JWT-токен?","acceptedAnswer":{"@type":"Answer","text":"Сам по себе токен действует до истечения срока. Поэтому используют короткий срок жизни токена доступа и отдельный токен обновления, который хранится на сервере и может быть отозван. Альтернатива — список отозванных токенов, но это лишает подход части преимуществ."}},{"@type":"Question","name":"Что лучше — JWT или сессии?","acceptedAnswer":{"@type":"Answer","text":"Сессии с хранением на сервере проще в отзыве и контроле, JWT удобнее в распределённых системах и для мобильных клиентов. Для обычного веб-приложения сессии часто проще и безопаснее. Выбор зависит от архитектуры."}}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Главная","item":"https://www.nfactorial.school/"},{"@type":"ListItem","position":2,"name":"Глоссарий","item":"https://www.nfactorial.school/glossary"},{"@type":"ListItem","position":3,"name":"JWT"}]},{"@type":"EducationalOrganization","@id":"https://www.nfactorial.school/#org","name":"nFactorial School","url":"https://www.nfactorial.school/","foundingDate":"2013","areaServed":"KZ","sameAs":["https://instagram.com/nfactorial.school","https://www.youtube.com/@nfactorialschool","https://t.me/nfactorial_community"]}]}

© 2026 nFactorial School