Декодувати заголовок
JSONПісля вставлення JWT тут відображатиметься проаналізований вміст.
Перевірте заголовок веб-токена JSON і корисне навантаження. Цей інструмент не перевіряє підписи, і обробка залишається у вашому браузері.
Вставте JWT нижче, щоб миттєво декодувати, перевіряти та перевіряти.
Очікування введення JSON Web Token.
Після вставлення JWT тут відображатиметься проаналізований вміст.
Після вставлення JWT тут відображатиметься проаналізований вміст.
Після декодування тут буде відображено підпис.
Введіть секрет для використання під час видачі JWT. Перевірка HS256 виконується безпосередньо у вашому браузері.
Відредагуйте заголовок і корисне навантаження JSON і використовуйте підпис HS256.
Підготуйтеся до створення JWT.
Цей набір токенів підходить для локального тестування та налагодження розробки.
JWT — це формат маркера, який зазвичай використовується для входу, перевірки API та авторизації між службами. Він складається з трьох розділів: заголовок, корисне навантаження та підпис.
Вміст корисного навантаження можна декодувати та читати, а конфіденційну інформацію не слід розміщувати в претензіях JWT.
Ця сторінка підтримує перевірку підпису HS256 і генерацію, що дозволяє легко перевірити, чи маркер тестового середовища створено з тим самим секретом.
Усе декодування, кодування та перевірка підпису JWT виконується безпосередньо в браузері.
БАЗА ЗНАНЬ JWT SEO
Якщо ви шукаєте «JWT Decoder», «JWT Decoder», «JSON Web Token Parsing», «JWT Verify» або «JWT Encoder», зазвичай це означає, що у вас уже є маркер і вам потрібно швидко зрозуміти його заголовок, корисне навантаження, час закінчення терміну дії, алгоритм підписання та претензії. Ця сторінка містить не лише онлайн-інструменти для декодування JWT, а й організовує базові знання про JWT, про які розробники часто запитують.
JWT — це абревіатура від JSON Web Token. Це формат маркерів, який використовує JSON для представлення інформації, а потім перетворює її на спрощений рядок. Він часто використовується на веб-сайтах із розділенням інтерфейсу та бек-енду, API додатків, входу для учасників, єдиного входу SSO, авторизації мікросервісів та обміну даними між службами.
Для декодування JWT не потрібен пароль, оскільки заголовок і корисне навантаження закодовані лише за допомогою Base64URL, а не зашифровані. Кожен, хто отримує маркер, може використовувати декодер JWT для перегляду вмісту корисного навантаження, тому претензії не можуть містити паролі, ключі API або конфіденційну особисту інформацію.
Найпоширенішим випадком використання є авторизація. Після успішного входу користувача сервер авторизації видає JWT. Коли інтерфейс або програма згодом викликає API, маркер розміщується в заголовку авторизації HTTP, наприклад Authorization: Bearer .
JWT також широко використовується для обміну інформацією. Коли двом системам потрібно обмінятися даними, які можна перевірити, підписи дозволяють приймаючій стороні підтвердити, що дані не були змінені під час передачі. Кінцева точка JWKS зазвичай використовується у великих системах для надання відкритих ключів, щоб різні служби могли перевірити джерело маркера.
Стандартний JWT зазвичай складається з трьох рядків Base64URL, розділених крапками: Header.Payload.Signature. Перший розділ Header описує тип маркера та алгоритм підпису, другий розділ Payload містить претензії, а третій розділ Signature використовується для перевірки цілісності.
Поширені зареєстровані претензії включають iss, sub, aud, exp, nbf, iat і jti. Хороша перевірка API зазвичай перевіряє принаймні exp, iss і aud.
Типовий процес такий: користувач входить у систему, авторизує сервер для перевірки пароля облікового запису або стороннього результату входу, а потім видає маркер доступу; інтерфейс приєднує маркер доступу до запиту API; внутрішній API перевіряє маркер і повертає захищені дані.
JWT не є універсальною заміною сесії. Після випуску маркера його зазвичай можна перевірити без перевірки бази даних до закінчення терміну дії. Однак відкликання маркерів, миттєві зміни дозволів і обробку виходу з системи ще потрібно розробити.
Перевірка JWT зазвичай стосується перевірки того, чи відповідає токен очікуваним правилам, наприклад, чи має він три сегменти, чи можна його декодувати, чи законний JSON, чи минув термін його дії, чи правильний емітент і чи відповідає аудиторія поточному API.
Перевірка JWT використовуватиме вказаний алгоритм і ключ для повторного обчислення підпису, а потім порівняння його з третім підписом маркера. Здатність зрозуміти корисне навантаження не означає, що токен заслуговує довіри; офіційний API повинен пройти перевірку печатки та перевірку претензій.
Декодування JWT перетворює перший і другий абзаци маркера назад у JSON, дозволяючи читати заголовок і корисне навантаження. JWT Encode — це зворотній процес: підготуйте JSON заголовка та JSON корисного навантаження, згенеруйте підпис і, нарешті, об’єднайте їх у повний маркер.
Якщо ви просто хочете побачити вміст корисного навантаження, вам не потрібен секрет; якщо ви хочете підтвердити, чи справді маркер видано вашою системою, ви повинні використати правильний секретний або відкритий ключ для перевірки підпису. Наразі ця сторінка підтримує HS256.
Використовуючи онлайн-декодування JWT, вам також слід перевірити, хто випустив маркер, до якої системи його було видано, коли він набуває чинності, коли закінчується термін дії та чи відповідає область дозволу вимогам API. У наведеній нижче таблиці підсумовано поширені претензії JWT.
| Претензія | Китайське значення | Що перевіряти при налагодженні |
|---|---|---|
вип | Емітент, емітент | Незалежно від того, чи це ваш сервер авторизації, чи надійний постачальник ідентифікаційної інформації. |
суб | Ідентифікатор теми, користувача або принципала | Чи відповідає він правильному користувачу, учаснику, обліковому запису служби чи пристрою. |
ауд | Аудиторія, символічна аудиторія | Чи надсилати його до поточного API; помилки аудиторії часто викликають помилку 401. |
досвід | Термін придатності, термін придатності | Чи закінчився термін його дії; зверніть увагу на різницю в часовій мітці Unix і часовому поясі. |
nbf | Не раніше, ефективний час | Чи ще не настав час використання; відхилення часу сервера також вплине на це. |
iat | Видано о, час випуску | Чи збігається він із фактичним часом входу в систему чи маркером оновлення. |
jti | JWT ID, унікальний ідентифікатор маркера | Незалежно від того, чи можна його використовувати для списків відкликань, журналів аудиту чи захисту від повторних атак. |
сфера застосування | Сфера повноважень | Чи існують дозволи на читання, запис, адміністрування та інші дозволи, необхідні для API. |
alg у заголовку JWT вкаже верифікатору, який алгоритм слід використовувати. HS256 — це HMAC SHA-256, і як для випуску, так і для перевірки використовується однаковий набір секретів; RS256 використовує підпис закритого ключа RSA та перевірку відкритого ключа; ES256 використовує алгоритм еліптичної кривої.
Сервер має чітко визначати список дозволених алгоритмів, щоб запобігти зловмисникам впливати на процес перевірки шляхом зміни заголовка. Якщо JWT надходить від постачальника ідентифікаційної інформації, зазвичай отримайте JWKS або відкритий ключ і перевірте kid, iss, aud, exp.
Найпоширеніші проблеми, які виникають під час використання декодера JWT, полягають у тому, що токен не має стандартного трисегментного формату, рядок Base64URL скопійовано не повністю, перед і після є пробіли, корисне навантаження не є допустимим JSON або секрет підпису використовується неправильно. Якщо API повертає 401 або 403, рекомендується спочатку декодувати JWT і підтвердити exp, aud і scope.
header.payload.signature.Bearer.exp і чи синхронізовано час сервера.iss і aud відповідають поточному середовищу.kid.Сеанс зазвичай зберігає стан на сервері або централізованому сховищі, а браузер зберігає лише ідентифікатор сеансу; JWT розміщує частину стану в маркері, щоб API міг використовувати підпис для перевірки цілісності. SAML базується на XML і зазвичай використовується в корпоративній системі єдиного входу.
| План | Підходить до ситуації | Варто звернути увагу |
|---|---|---|
| JWT | Авторизація API, маркер доступу SSO, мікросервіси | Необхідно контролювати термін придатності, перевірку печатки, відкликання та витік конфіденційної інформації. |
| Сесія | Традиційні веб-сайти, які вимагають негайного виходу з системи або централізованого контролю стану | Потрібне сховище сеансів на стороні сервера, а міжсервісне розширення вимагає додаткового дизайну. |
| SAML | Інтеграція корпоративної ідентифікації, застарілі системи SSO | Структури XML більші, а підписи та налаштування зазвичай складніші. |
exp і не робіть маркер доступу дійсним протягом тривалого часу.alg заголовка.iss, aud, nbf, iat із заявками про необхідні дозволи.Цей онлайн-інструмент декодування 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) і рідній конфіденційності.