Інструменти розробника
Онлайн-налагоджувач веб-токенів JSON

Онлайн-декодування JWT

Перевірте заголовок веб-токена JSON і корисне навантаження. Цей інструмент не перевіряє підписи, і обробка залишається у вашому браузері.

Введення маркера JWT

Вставте JWT нижче, щоб миттєво декодувати, перевіряти та перевіряти.

Очікування введення JSON Web Token.

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

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, як його перевірити та як безпечно ним користуватися

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

Що таке JWT?

JWT — це абревіатура від JSON Web Token. Це формат маркерів, який використовує JSON для представлення інформації, а потім перетворює її на спрощений рядок. Він часто використовується на веб-сайтах із розділенням інтерфейсу та бек-енду, API додатків, входу для учасників, єдиного входу SSO, авторизації мікросервісів та обміну даними між службами.

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

Коли використовувати JWT?

Найпоширенішим випадком використання є авторизація. Після успішного входу користувача сервер авторизації видає JWT. Коли інтерфейс або програма згодом викликає API, маркер розміщується в заголовку авторизації HTTP, наприклад Authorization: Bearer .

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

Трисекційна структура JWT: заголовок, корисне навантаження, підпис

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

Поширені зареєстровані претензії включають iss, sub, aud, exp, nbf, iat і jti. Хороша перевірка API зазвичай перевіряє принаймні exp, iss і aud.

Як JWT працює в системі входу та API?

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

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

Яка різниця між перевіркою JWT і перевіркою JWT?

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

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

Яка різниця між JWT Decode та JWT Encode?

Декодування JWT перетворює перший і другий абзаци маркера назад у JSON, дозволяючи читати заголовок і корисне навантаження. JWT Encode — це зворотній процес: підготуйте JSON заголовка та JSON корисного навантаження, згенеруйте підпис і, нарешті, об’єднайте їх у повний маркер.

Якщо ви просто хочете побачити вміст корисного навантаження, вам не потрібен секрет; якщо ви хочете підтвердити, чи справді маркер видано вашою системою, ви повинні використати правильний секретний або відкритий ключ для перевірки підпису. Наразі ця сторінка підтримує HS256.

Порівняння тверджень JWT: на які поля слід дивитися після декодування?

Використовуючи онлайн-декодування JWT, вам також слід перевірити, хто випустив маркер, до якої системи його було видано, коли він набуває чинності, коли закінчується термін дії та чи відповідає область дозволу вимогам API. У наведеній нижче таблиці підсумовано поширені претензії JWT.

ПретензіяКитайське значенняЩо перевіряти при налагодженні
випЕмітент, емітентНезалежно від того, чи це ваш сервер авторизації, чи надійний постачальник ідентифікаційної інформації.
субІдентифікатор теми, користувача або принципалаЧи відповідає він правильному користувачу, учаснику, обліковому запису служби чи пристрою.
аудАудиторія, символічна аудиторіяЧи надсилати його до поточного API; помилки аудиторії часто викликають помилку 401.
досвідТермін придатності, термін придатностіЧи закінчився термін його дії; зверніть увагу на різницю в часовій мітці Unix і часовому поясі.
nbfНе раніше, ефективний часЧи ще не настав час використання; відхилення часу сервера також вплине на це.
iatВидано о, час випускуЧи збігається він із фактичним часом входу в систему чи маркером оновлення.
jtiJWT ID, унікальний ідентифікатор маркераНезалежно від того, чи можна його використовувати для списків відкликань, журналів аудиту чи захисту від повторних атак.
сфера застосуванняСфера повноваженьЧи існують дозволи на читання, запис, адміністрування та інші дозволи, необхідні для API.

Як вибрати між HS256, RS256 і ES256?

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

Сервер має чітко визначати список дозволених алгоритмів, щоб запобігти зловмисникам впливати на процес перевірки шляхом зміни заголовка. Якщо JWT надходить від постачальника ідентифікаційної інформації, зазвичай отримайте JWKS або відкритий ключ і перевірте kid, iss, aud, exp.

Поширені помилки JWT і методи їх усунення

Найпоширеніші проблеми, які виникають під час використання декодера JWT, полягають у тому, що токен не має стандартного трисегментного формату, рядок Base64URL скопійовано не повністю, перед і після є пробіли, корисне навантаження не є допустимим JSON або секрет підпису використовується неправильно. Якщо API повертає 401 або 403, рекомендується спочатку декодувати JWT і підтвердити exp, aud і scope.

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

Які відмінності між JWT, сеансом і SAML?

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

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

Порада безпеки JWT: оптимістична оптимізація білого капелюха також має чітко записати ризики

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

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

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

Щоб отримати додаткові відомості, зверніться до Вступ до веб-токена JSON від jwt.io та RFC 7519. Вміст цієї сторінки було реорганізовано та переписано китайською мовою, зосереджуючись на практичному налагодженні, пошуковій системі пошукових систем (white hat SEO) і рідній конфіденційності.

Поширені запитання щодо онлайн-декодування JWT

Чи онлайн-декодування JWT перевірить підпис?
Декодування заголовка та корисного навантаження не еквівалентно перевірці підпису; щоб підтвердити, чи маркер не було підроблено, введіть той самий секрет і виконайте перевірку.
Чи може JWT Payload містити паролі чи ключі?
Не рекомендується. Як правило, JWT кодується лише Base64URL, і кожен, хто отримує маркер, може прочитати корисне навантаження.
Чи підходить кодер JWT для офіційного випуску токенів?
Цей інструмент підходить для розробки, тестування та налагодження. Формальне середовище має мати маркери видачі серверної служби та належним чином керувати секретами чи закритими ключами.