Безплатен конвертор

JWT токен Декодер

Декодирайте JWT (JSON Web Token) заглавка и полезен товар незабавно във вашия браузър. Безплатно, частно и от страна на клиента - никакви данни не се изпращат до сървър.

За този инструмент

JSON уеб токените (JWT) са компактен, безопасен за URL формат за предаване на искове между две страни, дефиниран от RFC 7519. JWT е три сегмента, кодирани с base64url, разделени с точки: заглавка (алгоритъм и тип токен), полезен товар (искове) и подпис (криптографско доказателство за автентичност). Заглавката и полезният товар са JSON, base64url кодирани за безопасност на URL; подписът използва един от няколко алгоритъма (HS256, RS256, ES256 и други) върху кодирания хедър и полезен товар.

Декодирането на JWT – разделянето му на сегменти и декодирането на base64 всеки – не изисква никаква тайна. Всеки, който има текста на токена, може да прочете заглавката и полезен товар. Подписът обаче може да бъде проверен само със секретен (HMAC) или публичен ключ (асиметричен). Декодирането е за проверка; проверката е това, което доказва автентичността.

Този декодер разделя токена, base64-декодира всеки сегмент, анализира заглавката и полезния товар като JSON и показва резултата. Той не прави опит за проверка на подписа, защото това изисква секретния или публичния ключ, който декодерът няма. Декодираният изход е проверка само за четене — полезна за отстраняване на грешки в токени, но не и заместител на правилната проверка в кода на приложението.

Защо да декодирате JWT

Отстраняването на грешки при проблеми с удостоверяването почти винаги включва проверка на токени. Токен, който изглежда валиден в кода, може да има грешни твърдения, неочакван алгоритъм, изтекъл срок на време или несъответствие на аудиторията. Декодирането на токена разкрива точно какво е произвел издателят.

Проверката на токените по време на интеграционна работа също помага. Когато се свързвате с API на трета страна или доставчик на идентичност, действителните имена, формати и структура на исканията се разбират най-добре чрез декодиране на примерни токени, вместо да се разчита на документация, която може да е остаряла.

Как да използвате

Поставете токена, вземете анализираното съдържание.

  1. Поставете своя JWT: Пуснете пълния токен (header.payload.signature) в областта за въвеждане. Декодерът приема токени със или без незадължителния префикс Bearer.
  2. Огледайте заглавката: Заглавката показва алгоритъма за подписване (alg) и типа на токена (typ). Често срещаните алгоритми са HS256, RS256 и ES256. Следете за alg: none, което сигнализира за неподписан токен и рядко е безопасно в производството.
  3. Проверете полезния товар: Полезният товар съдържа претенциите: iss (издател), sub (тема), aud (аудитория), exp (изтичане), iat (издадено на) и всички искове, специфични за приложението. Стандартните времеви клейма са секунди от Unix епоха.
  4. Проверете отделно: Декодерът не проверява подписа. За да проверите автентичността, стартирайте токена през JWT библиотека със съответния таен или публичен ключ в кода на вашето приложение.

Обичайни случаи на употреба

Технически подробности

JWT форматът е три сегмента, съединени с точки. Всеки сегмент е кодиран с base64url — безопасният за URL вариант на base64, който използва - и _ вместо + и /, като подпълването понякога се пропуска. Декодирането изисква отмяна на безопасните за URL замествания, допълване на сегмента и декодиране на base64.

Заглавката и полезният товар са JSON след декодиране. Сегментът на подписа е двоичен (необработени байтове на подпис) и не се чете от хора; той изисква ключът за проверка, за да бъде полезен.

Често срещани претенции, дефинирани в RFC 7519: iss (издател), sub (идентификатор на тема), aud (аудитория), exp (изтичане като Unix епоха в секунди), nbf (не-преди клеймо за време), iat (издадено клеймо за време), jti (идентификационен номер на уникален маркер). Искове за конкретно приложение могат да се показват с произволно име.

Най-добри практики

Често задавани въпроси

Безопасно ли е да поставя моя JWT тук?
да Декодирането се извършва изцяло във вашия браузър - токенът никога не се изпраща до сървър. Въпреки това, JWT са идентификационни данни — не ги споделяйте публично (в екранни снимки, публикации за препълване на стека и т.н.), тъй като може да предоставят достъп до вашите акаунти.
Този инструмент проверява ли JWT подписа?
Този инструмент декодира и показва съдържанието на токена. Проверката на подписа изисква секретен ключ (HMAC) или публичен ключ (RSA/ECDSA), който трябва да остане на вашия сървър. Инструментът показва използвания алгоритъм, но не може да провери без ключа.
Какво означават стандартните JWT твърдения?
iss = издател, sub = тема (идентификатор на потребителя), exp = време на изтичане (времево клеймо на Unix), iat = издаден на, nbf = не преди, aud = аудитория, jti = JWT ID. Персонализираните искове могат да съдържат всякакви данни, специфични за приложението.
Защо някой може да декодира JWT?
JWT са кодирани, а не криптирани. Полезният товар е кодиран с Base64URL (не е криптиран), така че всеки може да го прочете. Подписът предотвратява подправянето, а не четенето. Никога не съхранявайте чувствителни данни (пароли, SSN) в JWT полезни натоварвания.
Защо на някои токени липсва подпис?
Токените с alg: none нямат подпис. Те са валидни JWT по спецификация, но не предоставят гаранции за автентичност и не трябва да се приемат в производството.
Криптирани ли са JWT?
Стандартните JWT полезни товари са подписани, но не са криптирани. JWE (JSON Web Encryption, RFC 7516) е отделен формат за криптирани токени. Повечето JWT в природата са JWS (само подписани).
Моят токен качен ли е на сървър?
Не. Декодирането се извършва във вашия браузър; токенът не напуска вашето устройство.
Колко дълги са обикновено JWT?
От няколкостотин до няколко хиляди знака. Дължината зависи от броя и размера на претенциите плюс дължината на подписа (която зависи от алгоритъма).