Инструменты разработчика
Онлайн-отладчик JSON Web Token

Онлайн-декодирование JWT

Проверьте заголовок и полезную нагрузку веб-токена JSON. Этот инструмент не проверяет подписи, и обработка данных остается в вашем браузере.

Ввод токена JWT

Вставьте JWT ниже, чтобы мгновенно декодировать, проверять и проверять.

Ожидание ввода веб-токена JSON.

Декодировать заголовок

JSON
После вставки JWT здесь будет отображено проанализированное содержимое.

Декодирование полезной нагрузки

Претензии
После вставки JWT здесь будет отображено проанализированное содержимое.

Проверка подписи JWT

Выбрать
Подпись будет отображаться здесь после декодирования.

Введите секрет, который будет использоваться при выдаче JWT. Проверка HS256 выполняется в вашем браузере изначально.

JWT

Как использовать онлайн-декодирование JWT?

  1. Вставьте полный токен JWT.
  2. Нажмите «Декодировать JWT», чтобы проанализировать заголовок, полезную нагрузку и подпись.
  3. Когда вам нужно подтвердить подпись, введите секрет, а затем используйте «Проверить подпись».
JSON

Что такое веб-токен JSON?

JWT — это формат токена, обычно используемый для входа в систему, проверки API и авторизации между службами. Он состоит из трех разделов: заголовок, полезная нагрузка и подпись.

Содержимое полезной нагрузки можно декодировать и читать, а конфиденциальную информацию не следует помещать в утверждения JWT.

HS

JWT Проверка и безопасность

Эта страница поддерживает проверку и создание подписи HS256, что позволяет легко проверить, создан ли токен тестовой среды с тем же секретом.

Все декодирование, кодирование и проверка подписи JWT выполняются в браузере.

БАЗА ЗНАНИЙ JWT SEO

Полное руководство по онлайн-декодированию JWT: что такое JSON Web Token, как его проверить и как его безопасно использовать

Если вы ищете «JWT Decoder», «JWT Decoder», «JSON Web Token Parsing», «JWT Verify» или «JWT Encoder», это обычно означает, что у вас уже есть токен и вам необходимо быстро понять его заголовок, полезную нагрузку, время истечения срока действия, алгоритм подписи и утверждения. На этой странице не только представлены онлайн-инструменты декодирования JWT, но также собраны базовые знания о JWT, о которых часто спрашивают разработчики.

Что такое JWT?

JWT — это аббревиатура JSON Web Token. Это формат токена, который использует JSON для представления информации, а затем преобразует ее в упрощенную строку. Он часто используется на веб-сайтах разделения внешнего и внутреннего интерфейса, API приложений, входе в систему участников, едином входе в систему, авторизации микросервисов и обмене данными между службами.

Для декодирования JWT не требуется пароль, поскольку заголовок и полезные данные кодируются только в Base64URL, а не шифруются. Любой, кто получит токен, может использовать декодер JWT для просмотра содержимого полезных данных, поэтому утверждения не могут содержать пароли, ключи API или конфиденциальную личную информацию.

Когда использовать JWT?

Самый распространенный вариант использования — авторизация. После успешного входа пользователя в систему сервер авторизации выдает JWT. Когда внешний интерфейс или приложение впоследствии вызывает API, токен помещается в заголовок авторизации HTTP, например Authorization: Bearer .

JWT также широко используется для обмена информацией. Когда двум системам необходимо обменяться проверяемыми данными, подписи позволяют принимающей стороне подтвердить, что данные не были изменены во время передачи. Конечная точка JWKS обычно используется в больших системах для предоставления открытых ключей, чтобы различные службы могли проверить источник токена.

Трехсекционная структура JWT: заголовок, полезная нагрузка, подпись.

Стандартный JWT обычно состоит из трех строк Base64URL, разделенных точками: Header.Payload.Signature. Первый раздел заголовка описывает тип токена и алгоритм подписи, второй раздел полезных данных содержит утверждения, а третий раздел подписи используется для проверки целостности.

К распространенным зарегистрированным утверждениям относятся iss, sub, audi, exp, nbf, . data-i18n="auto.012">iat и jti. Хорошая проверка API обычно проверяет как минимум exp, iss и audi.

Как JWT работает при входе в систему и API?

Типичный процесс таков: пользователь входит в систему, разрешает серверу проверить пароль учетной записи или результат входа в систему третьей стороны, а затем выдает токен доступа; интерфейсная часть прикрепляет токен доступа к запросу API; внутренний API проверяет токен и возвращает защищенные данные.

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

В чем разница между проверкой JWT и проверкой JWT?

Под проверкой JWT обычно подразумевается проверка того, соответствует ли токен ожидаемым правилам, например, имеет ли он три сегмента, может ли он быть декодирован, является ли JSON законным, истек ли срок его действия, корректен ли эмитент и соответствует ли аудитория текущему API.

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

В чем разница между JWT Decode и JWT Encode?

JWT Decode преобразует первый и второй абзацы токена обратно в JSON, позволяя вам прочитать заголовок и полезную нагрузку. JWT Encode — это обратный процесс: подготовка JSON заголовка и JSON полезной нагрузки, создание подписи и, наконец, объединение их в полный токен.

Если вы просто хотите просмотреть содержимое полезной нагрузки, вам не нужен секрет; Если вы хотите подтвердить, действительно ли токен выпущен вашей системой, вы должны использовать правильный секретный или открытый ключ для проверки подписи. В настоящее время эта страница поддерживает HS256.

Сравнение утверждений JWT: на какие поля следует обратить внимание после декодирования?

При использовании онлайн-декодирования JWT вам также следует проверить, кто выдал токен, какой системе он был выдан, когда он вступает в силу, когда истекает срок его действия и соответствует ли область разрешений требованиям API. В следующей таблице приведены общие утверждения JWT.

ПретензияКитайское значениеЧто проверять при отладке
этоЭмитент, эмитентБудь то ваш сервер авторизации или доверенный поставщик удостоверений.
субИдентификатор субъекта, пользователя или принципалаСоответствует ли он правильному пользователю, участнику, учетной записи службы или устройству.
аудитАудитория, символическая аудиторияОтправлять ли его в текущий API; ошибки аудитории часто вызывают ошибку 401.
опытСрок годности, срок годностиистек ли срок его действия; обратите внимание на разницу в отображении временной метки Unix и часового пояса.
НБФНе раньше, эффективное времяНе наступило ли еще полезное время; отклонение времени сервера также повлияет на это.
тамДата выпуска, время выпускаСоответствует ли оно фактическому времени входа в систему или обновлению токена.
ДжтиJWT ID, уникальный идентификатор токенаМожно ли его использовать для списков отзыва, журналов аудита или защиты от атак повторного воспроизведения.
объемОбъем полномочийСуществуют ли разрешения на чтение, запись, администрирование и другие разрешения, необходимые для API.

Как выбрать между HS256, RS256 и ES256?

alg в заголовке JWT сообщит проверяющему, какой алгоритм следует использовать. HS256 — это HMAC SHA-256, и при выдаче и проверке используется один и тот же набор секретов; RS256 использует подпись секретным ключом RSA и проверку открытого ключа; ES256 использует алгоритм эллиптической кривой.

Бэкенд должен четко указать список разрешенных алгоритмов, чтобы злоумышленники не могли повлиять на процесс проверки путем изменения заголовка. Если JWT поступает от поставщика удостоверений, обычно получите JWKS или открытый ключ и проверьте kid, iss, audi, exp.

Распространенные ошибки JWT и методы устранения неполадок

Наиболее распространенные проблемы, возникающие при использовании JWT-декодера, заключаются в том, что токен не имеет стандартного трехсегментного формата, строка Base64URL копируется не полностью, есть пробелы до и после, полезные данные не являются допустимыми JSON или секрет подписи используется неправильно. Если API возвращает 401 или 403, рекомендуется сначала декодировать JWT и подтвердить exp, audi и область.

Контрольный список отладки JWT
  • Имеет ли токен трехсегментный формат header.payload.signature.
  • Использует ли заголовок авторизации схему Bearer.
  • Истек ли срок действия exp и синхронизировано ли время сервера.
  • Соответствуют ли iss и audi текущей среде.
  • Полностью ли соответствует секрет HS256 выдающей стороне.
  • Использует ли RS256/ES256 правильный открытый ключ и kid.
  • Содержат ли утверждения разрешений область или роль, требуемую API.

В чем разница между JWT, Session и SAML?

Сессия обычно сохраняет состояние на сервере или в централизованном хранилище, а браузер сохраняет только идентификатор сессии; JWT помещает часть состояния в токен, чтобы API мог использовать подпись для проверки целостности. SAML основан на XML и обычно используется при едином входе на предприятии.

ПланПодходит для ситуацииНа что следует обратить внимание
JWTАвторизация API, токен доступа SSO, микросервисыНеобходимо контролировать срок действия, проверку печати, отзыв и утечку конфиденциальной информации.
СессияТрадиционные веб-сайты, требующие немедленного выхода из системы или централизованного контроля статуса.Требуется хранилище сеансов на стороне сервера, а расширение нескольких служб требует дополнительного проектирования.
SAMLИнтеграция корпоративных удостоверений, устаревшие системы единого входаXML-структуры больше, а подписи и настройки обычно более сложны.

Совет по безопасности JWT: Белая SEO-оптимизация также должна четко описать риски

  • Не помещайте пароли, закрытые ключи, ключи API, платежную информацию или конфиденциальную личную информацию в заголовок или полезную нагрузку JWT.
  • Установите разумное значение exp и не делайте токен доступа действительным в течение длительного времени.
  • Разрешенные алгоритмы должны быть исправлены во время внутренней проверки. Не доверяйте слепо alg заголовка.
  • Используйте достаточно длинный и случайный секрет HS256; не используйте примеры секретов в производственных средах.
  • Проверьте iss, audi, nbf, iat на наличие необходимых разрешений.
  • Не помещайте в JWT слишком большой список разрешений, чтобы избежать слишком большого размера заголовка или утечки данных.
  • Токены внешнего хранилища должны оценивать XSS, CSRF, атрибуты файлов cookie и риски хранения данных в браузере.

Этот онлайн-инструмент декодирования JWT использует встроенную обработку браузера: токен, секрет, JSON заголовка и JSON полезной нагрузки, которые вы вставляете, не будут загружены на сервер ToolBoy. Несмотря на это, при работе с реальными производственными токенами все равно следует соблюдать принцип минимального раскрытия информации.

JWT часто появляется в процессе отладки API вместе с JSON, Base64URL, URL-запросом, меткой времени, SHA-256, UUID, регулярным выражением и другими форматами данных. Вы можете использовать инструмент форматирования JSON ToolBoy, кодирование и декодирование Base64, Unix Timestamp преобразование или генератор UUID.

Для получения дополнительной информации обратитесь к Введение в веб-токен JSON jwt.io и RFC 7519. Содержимое этой страницы было реорганизовано и переписано на китайском языке с упором на практическую отладку, белое SEO и конфиденциальность.

Часто задаваемые вопросы по онлайн-декодированию JWT

Будет ли онлайн-декодирование JWT проверять подпись?
Декодирование заголовка и полезных данных не эквивалентно проверке подписи; Чтобы подтвердить, был ли токен подделан, введите тот же секретный ключ и выполните «Проверить».
Может ли полезная нагрузка JWT содержать пароли или ключи?
Не рекомендуется. Как правило, JWT кодируется только Base64URL, и любой, кто получает токен, может прочитать полезную нагрузку.
Подходит ли кодер JWT для официального выпуска токенов?
Этот инструмент подходит для разработки, тестирования и отладки. Формальная среда должна иметь токены выдачи серверной службы и должным образом управлять секретами или закрытыми ключами.