Без завантаження, 100% локально, без облікового запису

Декодувальник JWT

Вставте JWT, щоб побачити його заголовок, корисне навантаження та термін дії. Жоден токен нікуди не надсилається. Підпис НЕ перевіряється, використовуйте лише для перегляду.

Як працює Декодувальник JWT

Декодувальник JWT розбиває JSON Web Token на три частини: заголовок, навантаження та підпис, і відображає заголовок та навантаження як відформатований JSON. Декодування виконується локально у браузері шляхом base64url-декодування кожної частини: ваш токен ніколи не надсилається на жоден сервер. Інструмент не виконує перевірку підпису; він лише показує, що міститься у вимогах токена.

Це розрізнення важливе для безпеки: перегляд декодованого JWT повідомляє, які вимоги він містить (ID користувача, термін дії, ролі, обсяги), але не підтверджує, що токен був виданий законним органом або не зазнав змін. Перевірка підпису вимагає публічного ключа або спільного секрету емітента, який ніколи не слід вставляти в публічний інструмент. Використовуйте цей декодувальник лише для перевірки та налагодження.

Декодувальник JWT: покрокова інструкція

  1. Вставте повний рядок JWT (три сегменти base64url, розділені крапками) у поле введення.
  2. Розділи заголовка та навантаження з'являються миттєво як відформатований JSON.
  3. Перевірте поле 'exp' у навантаженні, щоб побачити мітку часу терміну дії (секунди Unix-епохи).
  4. Сегмент підпису відображається як є; цей інструмент не перевіряє його.

Поширені сценарії використання

  • Розробник, що налагоджує проблему аутентифікації, потребує прочитати вимоги всередині JWT, щоб підтвердити наявність правильних обсягів та ролей.
  • QA-інженер перевіряє поле 'exp' токена доступу, щоб переконатися, що термін дії встановлено на очікувану тривалість.
  • Рецензент безпеки перевіряє JWT від стороннього сервісу, щоб зрозуміти, які дані користувача він кодує, перед прийняттям.
  • Back-end інженер усуває помилку 401, перевіряючи, чи відповідає вимога 'aud' (аудиторія) токена очікуваному ідентифікатору API.

Поширені запитання

Чи перевіряє цей інструмент підпис JWT?

Ні. Інструмент лише base64url-декодує сегменти заголовка та навантаження для відображення їхнього вмісту як JSON. Перевірка підпису вимагає секретного або публічного ключа емітента, який не слід вставляти тут. Декодоване навантаження, що виглядає дійсним, може мати недійсний підпис; завжди перевіряйте підпис на стороні сервера за допомогою надійної бібліотеки JWT.

Чи передається мій JWT-токен на будь-який сервер при вставці тут?

Ні. Декодування є трьома викликами atob (або TextDecoder на сирих байтах), що виконуються повністю в JavaScript-двигуні браузера. Ніщо з вставленого тут не покидає вкладку браузера. Це єдиний безпечний спосіб перевірити JWT з приватними вимогами користувача: повністю локальний, без мережевих запитів.

У чому різниця між сегментами заголовка, навантаження та підпису?

JWT має три base64url-кодовані сегменти, розділені крапками. Заголовок визначає алгоритм, що використовується для підпису токена (наприклад, HS256 або RS256). Навантаження містить вимоги: факти про суб'єкт та додаткові метадані (термін дії, емітент, аудиторія, власні вимоги). Підпис є криптографічним значенням, обчисленим із заголовка та навантаження за допомогою ключа емітента; саме він дозволяє одержувачу перевірити, що токен не змінено.

Що означає 'exp' у навантаженні?

Вимога 'exp' є часом закінчення дії токена, вираженим як Unix-мітка часу (цілочисельні секунди з 1 січня 1970 UTC). Якщо поточний час більший за 'exp', токен прострочений і має бути відхилений будь-яким сервером, що його перевіряє. Цей інструмент показує сире числове значення; перетворіть його за допомогою інструменту мітки часу на цьому сайті. Позначка «прострочено» або «дійсний» порівнює це число з годинником вашого власного пристрою, тому пристрій із неправильним часом неправильно оцінить і токен. Це лише орієнтир, а не заміна серверу, який справді перевіряє підпис.

Чи можна декодувати непрозорий або посилальний токен за допомогою цього інструменту?

Ні. Непрозорі токени (іноді звані посилальними токенами) є випадковими рядками, що самі по собі не несуть даних користувача; вони повинні бути надіслані до кінцевої точки інтроспекції емітента для отримання пов'язаних вимог. Цей інструмент працює лише із самодостатніми JWT у стандартному форматі трьох частин.