Інструменти розробника · JWT декодер
Анатомія JWT: Розщеплення на точках і декодування base64url
· Як працює
Опубліковано ToolAcre · Рецензування журналу
свінгери коди безпека

Р JWT три базові64url сегменти, відокремлені точками. Цей пост декодує кожну частину вручну, пояснює, чому сегмент підпису не є текстом, і показує, що декодер може і не може розповісти вам.
Довгий рядок в заголовку авторизації — що ви шукаєте і чому він має рівно два точки
Ведмедя токена часто прибуває в заголовку авторизації як компактний, dot-separated string. Типовий підписаний JWT ущільнення JWS форма має три сегменти і тому дві відокремлені точки. Активний жетон - це критичний: не вклейте токени виробництва в демонстрацію.
Компактна послідовність — заголовок, перевантаження та підпис як три базові64 виворітні сегменти
В компактному JWS послідовність першого сегмента - захищений заголовок, другий - це завантаження, а третій - підпис або MAC. Підпис охоплює кодовані перші два сегменти, що долучаються до точки. Розщеплення рядка розташовує сегменти; не можна встановити довіру.
Base64url без накипу — абетка JWS використання і чому сегменти не мають причіпних знаків
Base64url використовує - і на місці + і / в звичайному base64. Компактний JWS omits причіп = накидка; декодер може відновити начинки перед декодуванням. Декодування виробляє байти. Для JSON заголовок і претензій, декодування байтів як UTF-8 перед оформленням тексту.
Заголовок — невеликий JSON об'єкт, що використовується алгоритмом і, часто, ключ
Головний редактор зазвичай JSON містить alg і іноді ключовий ідентифікатор, дитина. Ці затвердження, зроблені самим токеном. Вивержувач повинен виконувати свою власну допущену політику і надійно отримувати відповідний ключ; читання алг не авторизація.
Завантажити — JSON об'єкт претензій, що читаються будь-яким, хто тримає токен
Завантажувальний вантаж містить такі вимоги, як суб, обтяження та ауд. Будь-який холдинг Token може читати їх; кодування не є шифруванням. Унікс епоху немає повноважень. Не зберігайте секрети в читабельному перевантаженні.
Припис — сирі байти над першими двома сегментами, безглуздими як текст і без використання без ключа
Останній сегмент - підпис байтів, зашифровані в base64url, не третій JSON об'єкт. Перевірка вимагає криптографічного алгоритму, ключової та прикладної політики. ToolAcre навмисно не виконує перевірку: він звітує про наявність підпису і завжди відзначає підпис.
Розроблений приклад — декодування сегмента токени за сегментом, включаючи JSON з'являється
Візьміть нечутливий демонстраційний заголовок {"alg":"HS256","typ":"JWT"} і завантажити {"sub":"demo"}. Їхня база64url кодування є eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 і eyJzdWIiOiJkZW1vIn0. Випадковий відновлюється JSON. Затвердження довільного третього сегмента не робить токени автентичним.
Похід: декодування читання, не довіряє — ToolAcre JWT декодер показує заголовок і вивантаження, і ніколи не виправдає підпис, тому нічого не показує доводить, що токена є справжньою
Декодування читання, не довіряє. Використання ToolAcre JWT декодер для заголовка кишенят, претензій та попередження; використовувати довірений вивержувач програми, щоб визначити, чи є підписаний токен. Відображаються претензії, які не мають доступу.