Command Palette

Search for a command to run...

JWT декодер в Интернете: декодирование, проверка и реальная информация о ваших токенах

JWT декодер в Интернете: декодирование, проверка и реальная информация о ваших токенах

T
Toolz Team
|Jul 11, 2026|21 Мин. читать

Часть коллекции обеспеченность

JWT декодер

Декодируйте заголовки и полезные нагрузки JWT, проверяйте претензии и срок действия маркера чека

Открыть инструмент «JWT декодер»

Прошлой весной пользователи начали выходить из Toolz.dev. Не иногда - постоянно. войдите, нажмите один инструмент, бум: обратно на экран входа. серверная часть выпускает 15-минутные токены доступа и 7-дневные токены обновления, и I'd протестировал этот поток сто раз. Поэтому, естественно, я предположил, что конечная точка обновления была сломана, и потратил час и сорок минут на чтение промежуточного программного обеспечения Express, в котором нет ничего плохого.

Потом я наконец сделала очевидную вещь. Я взял токен live access из заголовка авторизации, вставил его в декодер и посмотрел на утверждения. выше exp было в порядке. выше iat было хорошо Токен был действителен еще 14 мин. Это означало, что сервер был в порядке - и ошибка должна была быть на клиенте.Конечно достаточно: мой интерфейс проверял payload.exp < Date.now(), йо- exp секунды с эпохи. Date.now() составляет миллисекунды Каждый свежеотчеканенный токен выглядел так, будто срок его действия истек где-то в 1970 году, поэтому клиент & quot;helpfully& quot; вывел всех из системы до того, как сервер получил право голоса Три символа исправления - /1000- после почти двух часов охоты.

Это&#39;s весь шаг для того, чтобы иметь JWT декодер в вашем ящике инструментов. JWT выглядит как линейный шум - три куска тарабарщины base64url склеены точками - но это&#39;s просто JSON в плаще. В тот момент, когда вы можете прочитать утверждения, половина ваших ошибок в авторешии перестает быть загадками. Неправильная аудитория, просроченный жетон, пропущенная роль, перекос часов, миллисекунды против секунд - они&#39; все сидят прямо там в виде обычного текста, как только вы расшифровываете.

Но - и это имеет значение - где вы декодируете не является нейтральным выбором. настоящий токен доступа является живым учетным данными. Вставьте его в сайт декодера, который отправляет токены на сервер, и вы &#39;вы только что внесли рабочий ключ к вашему API в журнал запросов незнакомца&#39;s. Это&#39;s конкретная причина, по которой я построил Toolz.dev декодер JWT полностью запустить в вашем браузере. об этом ниже.

TL;DR: Чтобы расшифровать JWT онлайн, вставьте его в Toolz.dev декодер JWT- он мгновенно разделяет заголовок, полезную нагрузку и подпись, переводит exp/iat в человеческие даты, и запускает 100% клиент-сторона так что токен никогда не покидает вашу машину. одно дело, чтобы сжечь в памяти: декодирование НЕ верифицирует. JWT это просто JSON с кодировкой base64url, который может прочитать каждый - только проверка подписи с ключом доказывает это &#39;s заслуживает доверия.

Основные характеристики

Мгновенный заголовок, полезная нагрузка и разделение подписи

Вставьте токен, и декодер немедленно разбивает его на три части: заголовок (тип алгоритма и токена), полезную нагрузку (ваши утверждения) и подпись (в левом кодировании, потому что it&#39;s необработанный MAC или подпись - там&#39;s там нет ничего удобочитаемого). Нет кнопки отправки, нет перезагрузки страницы. Это точно отражает то, что ваша библиотека авто до проверки делает внутри: разделено на ., base64url-декодировать первые два сегмента, анализируя как JSON. Увидеть части, расположенные рядом, - это самый быстрый способ построить интуицию для формата. после нескольких десятков токенов, вы&#39; начнёт распознавать токен RS256 Auth0 против токена HS256 Laravel с первого взгляда - заголовок выдаёт его каждый раз.

Чтение читаемых человеком EXP, IAT и NBF

Самая полезная функция, полная остановка. exp, iat, и nbf являются ли значения NumericDate - секунды со времен Unix - и никто, включая меня, не может читать 1783430700 И скажу вам, будет ли это в следующий вторник или жара вселенной. Декодер преобразует каждую метку времени в фактическую дату и время в местном часовом поясе и UTC. Здесь мгновенно становится видна ошибка классической миллисекунды против секунд: если вы декодировали exp Рендерит как дату в 56 000 с чем-то, кто-то набил javascript Date.now() в поле, которое ожидает секунд. Я отправил эту ошибку. Видеть абсурдную дату — это диагноз. Для более глубокой археологии метки времени Конвертер времени отметки времени находится в одной табуляции.

Обратный отсчет и статус истечения срока действия

Помимо простого отображения даты, декодер сообщает вам текущее состояние токена: допустимый, истекший или еще не активный (когда nbf есть в будущем).Если токен&#39;s еще жив, вы получаете обратный отсчет до истечения срока действия. Это звучит как небольшое удобство до тех пор, пока вы&#39;отлаживаете прерывистый 401 и вам нужно ответить &quot;был ли этот конкретный токен мертв, когда запрос был отправлен?&quot; снова и снова. Сравнение обратного отсчета с вашим сервером&#39;s настроенный TTL также быстро фиксирует неправильную настройку - если ваш токены доступа должны жить 15 минут, а обратный отсчет говорит о 6 днях, ваш код выдачи считывает неправильное значение конфигурации.

Алгоритм и проверка заголовка

Декодированный заголовок показывает вам alg а typ (плюс kid и друзья, когда присутствуют), которые отвечают на вопросы, которые важны для безопасности, а не просто отладка. Это токен HS256 или RS256? Делает ли kid Сопоставьте ключ, который на самом деле служит конечная точка JWK? И большой: есть alg что-то, чего никогда не должно быть, например none? токены, претендующие на "alg": "none" либо тестовые приспособления, либо кто-то, проверяющий ваш верификатор - в любом случае, вы хотите увидеть это немедленно. Сначала я проверяю заголовок на каждом незнакомом токене, прежде чем прочитать одно утверждение.

Синтаксис-подсветка, форматированная JSON-заявления

Необработанные декодированные полезные нагрузки представляют собой однострочные двоичные объекты JSON, и поставщики удостоверений любят их упаковывать: вложенные объекты, пользовательские утверждения в именах, массивы областей. Декодер красиво печатает все с подсветкой синтаксиса. roles, scope, aud массивы и вложенные объекты разрешений на самом деле сканируются. это то же самое лечение Форматтер JSON дает произвольный JSON, применяется автоматически к вашим претензиям Когда вы &#39;re сравниваете два токена - скажем, один от пользователя, который может получить доступ к конечной точке, и один от пользователя, который может &#39;t - отформатированный вывод превращает упражнение на косоглазие в десятисекундный разряд.

100% клиентская сторона - ваш токен никогда не покидает браузер

Это функция I&#39;d бороться за. Вставленный токен доступа не является образцом данных - it&#39;s живой учетной записи, которая аутентифицируется как реальный пользователь до тех пор, пока exp, йо- Любой декодер, который публикует ваш токен в бэкэнд, только что записал рабочий ключ в журналы серверов, аналитику, возможно, сторонний трекер ошибок. Декодер Toolz.dev выполняет все декодирование в JavaScript на вашей вкладке. Ничего не передается, ничего не сохраняется. Не верьте мне на слово: откройте DevTools, посмотрите вкладку «Сеть», вставьте токен. Нулевые запросы. Я написал, почему эта архитектура важна для каждого инструмента с чувствительным входом в Моя статья о конфиденциальности данных в онлайн-инструментах, йо-

Работает с любым JWT, из любого стека

JWT являются стандартом - RFC 7519- так что декодеру все равно &#39; плевать, кто чеканил ваш. Токены Auth0 и Firebase с их пользовательскими претензиями с пространством имен, настройки, соседние с Laravel Sanctum, Keycloak, Supabase, AWS Cognito или ручные жетоны HS256, мои собственные бэкенды Express для Toolz.dev - если it&#39; три сегмента base64url, соединенные точками, декодируются. Это включает в себя искаженные почти JWT: если второй сегмент выигран и #39;t анализируется как JSON, декодер сообщает вам, какая часть сломана, а не выходит из строя бесшумно, что само по себе является диагностическим. Усеченные жетоны на копии встречаются чаще, чем вы и #39; подумайте.

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

Шаг 1: возьмите токен

Найдите токен везде, где его хранит ваше приложение. Чаще всего: DevTools → Вкладка Сеть → Щелкните запрос → Скопируйте Authorization: Bearer eyJ... значение заголовка (без слова & quot;Bearer& quot;).или проверьте Приложение → Локальное хранилище/Cookie, так как множество приложений хранят там жетоны. на серверной части, зарегистрируйте его или извлеките из вашего тестового пакета. скопируйте всю строку - JWT, который теряет последние несколько символов, все еще декодирует, но никогда не проверит, и это&#39;с запутанный час, который вам не нужен и#39; не нужен.

Шаг 2: Вставьте его

откройте JWT декодер и вставить. Расшифровка происходит по мере ввода - нет кнопки. Если вы &#39; нервничаете по поводу вставки производственного токена куда угодно (хороший инстинкт), сначала откройте вкладку "Сеть" и подтвердите, что ничего не передается. Это &#39;t. Эта проверка паранойи занимает десять секунд, и это &#39;s именно то, что I&#39;d сделал с кем-то другим.&#39;s инструмент.

Шаг 3: Прочитайте три части

Заголовок сначала: подтвердите alg это то, что ваша система ожидает и typ есть JWT, йо- Тогда полезная нагрузка: iss (кто чеканил его), aud (для кого это) sub (какой пользователь), плюс любые роли, области действия или пользовательские заявления, добавленные вашим стеком. Подпись остается закодированной - это и #39;s криптографический вывод, а не данные. Если в заголовке написано none, остановитесь и проверяйте список разрешений вашего верификатора, прежде чем что-либо еще.

Шаг 4: Проверьте EXP и утверждения, что укусили

Посмотрите на декодированный exp дата и статус истечения срока действия. Срок действия истек? Вот твой 401. Верен, но все равно отклоняется? Теперь сравните aud а iss против вашего верификатора&#39;s config - несоответствия есть вторая по распространенности причина после истечения срока действия. И если какая-либо временная метка отображается как пятизначный год, поздравляем: вы&#39; нашли ошибку миллисекунд против секунд, и настоящим я приветствую вас в очень большом клубе.

Что на самом деле внутри JWT? Анатомия трех частей

Веб-токен JSON, определенный в RFC 7519, состоит из трех сегментов, закодированных в base64url, соединенных периодами: header.payload.signature. (Строго, подписанный сорт - это JWS по RFC 7515 - там и #39;s зашифрованный двоюродный брат, JWE, но почти каждый токен you&#39;ll meet in the wild - это подписанный JWS.)

Ключевое слово закодированный.Base64url - это транспортная кодировка - обратимый способ сделать байты URL-безопасными, а не шифрование. Любой, кто владеет JWT, может прочитать все в заголовке и полезной нагрузке с нулевыми ключами, нулевыми секретами, нулевым усилием. Играйте с необработанной кодировкой в Конвертер Base64 И вы увидите, что это стандартный алфавит с + а / заменен - а _, заполнение упало. Я писал больше о самом кодировании в Руководство по кодированию Base64, йо-

Декодируйте типичный заголовок, и вы получите:

{ "alg": "HS256", "typ": "JWT" }

А полезная нагрузка, созданная на основе зарегистрированных претензий RFC 7519, определяет:

{
  "iss": "https://toolz.dev",
  "sub": "user_8f3a2c",
  "aud": "toolz-api",
  "exp": 1783431600,
  "nbf": 1783430700,
  "iat": 1783430700,
  "jti": "b4d1f0e2"
}

iss Является ли эмитент, sub предмет (обычно ваш идентификатор пользователя), aud целевая аудитория, jti уникальный идентификатор токена. exp, nbf, и iat являются числовыми значениями: секунда со времен Юникса. не миллисекунды. Date.now() Возвращает миллисекунды, и смешение двух генерирует либо токены, которые истекают мгновенно (мой баг выхода из системы Toolz.dev), либо токены с exp даты в 56 000 году, срок действия которых фактически никогда не истекает, что является тем более опасным провалом.

HS256 против RS256. HS256 подписывается HMAC на общий секрет - быстрый, простой, но каждая служба, проверяющая токены, также хранит секрет, и любой, кто хранит секрет, может это сделать мята токены. Хорошо для монолита, как мой бэкэнд, где эмитент и проверщик — один и тот же процесс. RS256 подписывает с помощью закрытого ключа и проверяет с помощью общедоступного, поэтому вы можете опубликовать открытый ключ (через JWK) и позволить десятку микросервисов проверить, не имея возможности подделать. Распределенные системы и сторонние ВПЛ должны быть на RS256 или его ECDSA/EDDSA братья и сестры.

выше alg: none нападение RFC 7519 разрешает необеспеченные JWT, где alg есть none И подпись пуста. Ранние библиотеки доверяли заголовку alg Слепо, так нападавшие лишили подпись, поставили alg на none, и прошел проверку с полностью контролируемыми злоумышленниками заявлениями. Связанный трюк заменяет RS256 для HS256, поэтому верификатор использует публика ключ как секрет HMAC. вот почему RFC 8725 - JSON Web Token Лучшие текущие практики - является тупым: верификатор должен прикрепить свои разрешенные алгоритмы в коде и никогда не позволять токену выбирать. если ваш библиотечный вызов не &#39;t включить явный algorithms Список, исправьте это сегодня.

Расшифровка и проверка - линия, которая имеет значение. Декодирование — это чтение, проверка — доверие. Разница в коде:

// Decoding: no secret, no trust. Anyone can do this.
const payload = JSON.parse(
  Buffer.from(token.split('.')[1], 'base64url').toString()
);

// Verifying: proves the signature AND pins the algorithm.
const verified = jwt.verify(token, secret, { algorithms: ['HS256'] });

Онлайн-декодер делает первое. Он может показать вам претензии; он не может - и не должен притворяться - сказать вам, что токен является подлинным. Только verify, с ключом, делает это. Никогда не принимайте решения об авторизации по декодированным, но непроверенным утверждениям.

Что приводит к последнему правилу: Никогда не публикуйте секреты в полезной нагрузке JWT. Никаких паролей, никаких ключей API, никаких данных вы &#39; неважно, читает злоумышленник. Полезная нагрузка является общедоступной по конструкции - подписана против фальсификации, широко открыта для чтения. Если это &#39;s в токене, предположим, что весь Интернет может это увидеть.

Общие варианты использования

Отладка 401s во время разработки API

401 - наименее информативный код состояния в HTTP. Сервер сказал нет - но истек ли срок действия токена? Неправильная аудитория? Подписан устаревшим ключом? Отсутствует полностью, потому что ваш перехватчик не сработал &#39;t срабатывает? декодирование фактического токена из неудачного запроса приводит к коллапсу пространства поиска за секунды. В половине случаев exp отвечает на него один. Другая половина, сравнивая iss а aud На фоне конфигурирования среды вашего верификатора конфигурация Dev обнаруживается, что токен dev будет воспроизводиться против staging или наоборот. Я держу декодер, закрепленный рядом с моим HTTP-клиентом, именно для этого цикла; это основная запись в моем Набор инструментов отладки API. Сначала декодируйте, затем прочтите промежуточное программное обеспечение - обратный порядок стоил мне один раз часа сорок минут, и я намерен продолжать собирать проценты за этот урок.

Объяснение выходов из неожиданного

Когда пользователи сообщают о том, что он продолжает выйти из системы, — метки времени токена — это ваши свидетели. расшифровать свежий токен доступа и проверить разрыв между iat а exp- это на самом деле 15 минут, которые вы настроили, или env var переопределил его до 60 секунд? Затем проверьте, является ли 7-дневное окно обновления и #39;s таким, каким вы его думаете. Перекос часов появляется и здесь: если ваш выдающий сервер и #39;s часы работают на пару минут быстро, токены приходят уже древние клиентом и #39;s с расчетом. И, конечно же, ошибка сравнения секунд и миллисекунд - та, которая разрядная Toolz.dev - объявляет себя в тот момент, когда вы видите совершенно действительный exp На токена, которую ваш клиент клянется, истек.

Аудит, что ваш поставщик идентификации вводит в токены

Большинство команд никогда на самом деле не читали токены их IdP mints, и это и #39;s стоит сделать. декодируйте один, и вы можете найти адреса электронной почты, полные имена, URL-адреса изображений, идентификаторы арендаторов - PII, идущие в каждом отдельном запросе API, хранящиеся в localStorage и читаемые всем, что попадет в его руки на токене. Здесь и #39;s моя мнимая позиция, и I&#39; буду спорить с кем угодно: не надо и #39;t помещать электронные письма пользователей в полезные нагрузки JWT. The sub Заявка существует именно так, чтобы вы могли носить непрозрачный идентификатор и просмотреть человеческие детали на стороне сервера. Каждое дополнительное требование — это данные, которые вы транслируете, и байты, за которые вы платите по каждому запросу. Декодируйте, проверяйте, затем обрежьте сопоставления претензий вашего IDP.

Проверка ролей и областей при отладке авторизации

Аутентификация говорит, кто вы; авторизация говорит, что вы можете сделать - и когда авторизация плохо себя ведет, ответ в утверждениях. Пользователь клянется, что они &#39; администратор, но получает 403? декодировать их токен. Если role повествование user, токен был отчеканен до акции и им нужно повторно войти в систему - классическое следствие того, что токены без гражданства несут устаревшие снимки. если роль присутствует, но доступ все еще не удался, проверьте точное имя и форму претензии: roles против role, массив против строки, scope как строка с разделителями пробелов и scp как массив. Проверка промежуточного программного обеспечения payload.roles.includes('admin') против полезной нагрузки, которая имеет role: "admin" бесшумно и бесит. Два декодированных жетона рядом - один рабочий, другой нет - обычно улаживают его менее чем за минуту.

Сравнение содержимого токенов доступа и обновления

В двухтокен-двойке, подобной моей, два токена должны выглядеть существенно по-разному, и оба декодирования — это аудит. Маркер доступа: короткий exp, плюс все, что утверждает, что API нуждается в каждом запросе. Токен обновления: длинный exp, а jti для отслеживания отзыва, и как можно ближе ни к чему другому. если ваш токен обновления несет роли и данные профиля, что-то &#39;s выключено - it&#39;s когда-либо представлено только в одну конечную точку и должно &#39;t дублировать токен доступа&#39;s job.Эта параллельная проверка также ловит смущающий класс ошибки, где оба токена случайно получают один и тот же TTL, который превращает ваше &quot;15-минутное окно доступа&quot; в театр безопасности. Спросите меня, как я знаю проверить это.

JWT против непрозрачных токенов сеанса: честное сравнение

челюсти Непрозрачный токен сеанса
безгражданство автономный; любой сервер с ключом проверяет без поиска сервер (или общий хранилище, такой как Redis) должен искать каждый запрос
аннулирование Жесткий - действителен до exp Если вы не создадите денилист, который вновь вводит состояние Тривиально - удалить запись на стороне сервера, токен мгновенно умирает
Размер по запросу Сотни байтов до более килобайта, на все требовать ~32–64 байт
Где происходит валидация В любом месте, где есть (открытый) ключ - отлично подходит для микроуслуг Где бы ни жил сессионный магазин
утверждать, что Снимок во время выпуска; изменения ролей ждут перевыпуска Всегда актуально - считывает живые данные
отладка Декодирование и чтение претензий мгновенно Непрозрачный по замыслу; требует доступа к магазину

Я использую JWTS для Toolz.dev и все равно скажу вам, что они прописаны. История отзыва действительно плохая: когда вы забанили пользователя, его токен доступа продолжает работать до тех пор, пока exp- именно поэтому мои токены доступа живут 15 минут, а 7-дневный токен обновления - это то, что я могу убить на стороне сервера. Этот гибрид - это честный шаблон: недолговечные JWT без гражданства для дешевой проверки, одна контрольная точка с полным состоянием для контроля. Если вы & # 39; запускаете монолит с одной базой данных, простые сеансы проще, меньше и мгновенно отзываются - сверхспособность распределенной проверки JWT и # 39;s решает проблему, которую вы не решаете, и # 39; не имеет.

В то время как мы и #39;ре сравниваем - HS256 против RS256 одним взглядом:

HS256 256 рупий
основная модель Один общие секретные знаки а проверять Знаки закрытого ключа, открытый ключ проверяет
Кто может мятные токены кто держит секрет Только держатель закрытого ключа
лучше всего подходит Разовая служба, эмитент = верификатор Микросервисы, сторонние ВПЛ, JWK
Размер подписи / скорость Меньше, быстрее крупнее, медленнее, безопаснее в распределении

Часто задаваемые вопросы

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

Только если декодер запускает клиент-сторону. настоящий токен является живым удостоверением - отправляя его кому-то&#39;s сервер устанавливает рабочий ключ в их журналах.Toolz.dev JWT Decoder делает все декодирование в вашем браузере и не передает ничего; вы можете подтвердить это сами, наблюдая за вкладкой Сеть во время вставки.Для декодеров вы можете&#39;t проверить, использовать просроченные или тестовые токены только.

Можно ли расшифровать JWT без секрета?

Да - это&#39;s точка, которую люди пропускают больше всего Заголовок и полезная нагрузка - это JSON с кодировкой base64url, а кодировка - это не шифрование Любой может прочитать каждое утверждение без какого-либо ключа Секрет (или закрытый ключ) нужен только для создания или проверки подписи. декодирование ничего не требует; доверие требует проверки.

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

Декодирование считывает содержимое: разделение на точки, base64url-decode, Parse JSON. Проверка доказывает подлинность: пересчитывание или проверка подписи с помощью секретного или открытого ключа, подтвердите алгоритм, проверьте срок действия. Декодер показывает, что заявляет токен; только проверка, выполненная с ключом на стороне сервера, говорит вам, стоит ли ему верить. Никогда не авторизовывайтесь на основе декодированных, но непроверенных утверждений.

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

Чаще всего exp действительно прошел - расшифруйте его и проверьте дату. Следующие подозреваемые: усеченный токен из небрежной копипасты, ан aud или iss Это не соответствует конфигурации вашего верификатора, а также переключается между серверами или подпись повернутого ключа. Если декодированный exp Выглядит нормально, но ваш код отклоняет токен, проверьте, сравниваете ли вы секунды с миллисекундами.

JWTS зашифрованы?

Стандартные JWT - технически JWS, согласно RFC 7515 - подписаны, а не зашифрованы. подпись обнаруживает подделку, но ничего не скрывает; полезная нагрузка читается кем угодно. зашифрованный вариант (JWE) существует, но редко встречается в типичных веб-авторах. Практическое правило: относитесь к каждой полезной нагрузке JWT как к общедоступной и никогда не помещайте пароли, ключи API или конфиденциальные данные в одну.

В каком формате заявка на опыт?

exp является числовой: секунды, начиная с эпохи Unix (1 января 1970 г. UTC), как определено в RFC 7519. то же для iat а nbf, йо- Классическая ошибка — использование JavaScript Date.now(), который возвращает миллисекунды - производя токены, которые либо выглядят истекшими мгновенно, либо имеют даты истечения срока действия около года 56,000 Если декодированная метка времени показывает пятизначный год, то &#39;s ваша ошибка.

Что такое ALG None Attack?

RFC 7519 позволяет незащищенные JWT с "alg": "none" И пустая подпись. Старые библиотеки доверяли поле алгоритма заголовка, поэтому злоумышленники лишили подписи, поставили alg на none, и прошел проверку с поддельными претензиями. RFC 8725, лучшая текущая практика JWT, требует, чтобы верификаторы закрепляли явный список разрешений в коде и игнорировали все, что запрашивает токен.

Должен ли я использовать HS256 или RS256?

HS256 использует один общий секрет для подписи и проверки - простой и быстрый, прямо для одной службы, которая одновременно выдает и проверяет свои собственные токены. RS256 подписывает закрытым ключом и проверяет открытым, поэтому многие службы могут проверить, не имея возможности подделать эмпирическое правило: монолит, HS256; микросервисы или сторонний поставщик удостоверений, RS256.

завершение

я построил JWT декодер потому что я продолжал нуждаться в нем при создании самого Toolz.dev - те же 15-минутные токены доступа и 7-дневные токены обновления I & #39; были препарированы на протяжении всего этого руководства. Он декодирует мгновенно, переводит временные метки, которые вызывают 90% путаницы, и никогда никуда не отправляет ваш токен. Эта последняя часть является &#39;t флажком функции; для инструмента, который обрабатывает живые учетные данные, it& #39;s весь дизайн.

Если жетоны являются частью вашей ежедневной отладки, соседи тоже заработают: Конвертер времени отметки времени Для эпохи археологии Конвертер Base64 Для выкапывания в сырых сегментах Форматтер JSON для претензий и хэш-генератор Когда вы работаете с дайджестами. Для более широкого рабочего процесса мой Руководство по инструментам отладки API Покрывает место, где декодер помещается в петлю.

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

Frequently Asked Questions

Only if the decoder runs client-side. A real token is a live credential — sending it to someone's server plants a working key in their logs. The toolz.dev JWT Decoder does all decoding in your browser and transmits nothing; you can confirm this yourself by watching the Network tab while you paste. For decoders you can't verify, use expired or test tokens only.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!