Локальный разбор
Удобно отлаживать сессию и сверять exp / sub . В Header видны алгоритм и тип, в Payload — бизнес-заявления.
Если сегмент подписи отсутствует, первые две части всё равно пробуют декодировать — удобно для обрезанных логов.
Данные также можно передать через #data={"name":"Ada"} или #url=... После чтения параметры сразу удаляются из адресной строки.
JWT состоит из Header, Payload и подписи. Страница в браузере декодирует первые две части в Base64URL, чтобы посмотреть срок действия и свои claim. Token на сервер не уходит. При отладке сессии и проверке, exp уже истёк ли, не нужно вставлять настоящий Token на неизвестный сайт.
Удобно отлаживать сессию и сверять exp / sub . В Header видны алгоритм и тип, в Payload — бизнес-заявления.
Если сегмент подписи отсутствует, первые две части всё равно пробуют декодировать — удобно для обрезанных логов.
Закрытый ключ не должен оказываться на веб-странице. Проверку подписи в продакшене делайте на бэкенде. Payload может прочитать любой, у кого есть Token: конфиденциальность дают HTTPS и короткий срок действия.
Страница показывает строку подписи, но не проверяет, верны ли HMAC / RSA.
Распознаются issЛокальный разборaudУдобно отлаживать сессию и сверятьiat и другие официальные поля с пояснением смысла. Числовые метки времени по возможности переводятся в читаемое время.
Свои claim выводятся как есть — удобно сверить ваш протокол входа.
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmFtZSI6IuW8oOS4iSIsImlhdCI6MTcyMDAwMDAwMCwiZXhwIjoxOTAwMDAwMDAwfQ.signature
{
"header": { "alg": "HS256", "typ": "JWT" },
"payload": { "sub": "1234", "name": "张三", "iat": 1720000000, "exp": 1900000000 }
}
Сейчас показывается только строка подписи, подлинность не проверяется. Payload может декодировать кто угодно: конфиденциальность дают HTTPS и проверка подписи на бэкенде.
У JavaScript Number есть предел точности. Очень большие ID сверяйте с исходным Payload, а не только с преобразованным числом.
Не загружается и не пишется в облачную историю. После закрытия вкладки исчезает из памяти.
Нельзя и не следует. Без закрытого ключа нельзя получить Token, который пройдёт проверку на сервере. Страница только для чтения.
exp / nbf текущему времени и указывает ли aud на правильный сервис. То, что JWT можно декодировать, не значит, что пользователь аутентифицирован. Храните Token как пароль и вовремя инвалидируйте после истечения.