Декодер JWT: заголовок, payload и срок действия

Мгновенно декодируйте JSON Web Tokens (JWT). Безопасно просматривайте заголовок, полезную нагрузку и подпись прямо в вашем браузере.

Декодер JWT

Сообщить о проблеме

Нашли ошибку или есть предложение для Декодер JWT: заголовок, payload и срок действия? Дайте нам знать!

Как этот декодер JWT читает токен

JSON Web Token объединяет три части в одной строке: заголовок, полезную нагрузку и подпись. Этот декодер разбивает закодированный токен на эти три части, преобразует заголовок и полезную нагрузку обратно в читаемый JSON и извлекает алгоритм, дату выдачи и дату истечения срока действия, так что вы можете изучить токен, не написав ни строчки кода.

Заголовок, полезная нагрузка и подпись

Токен разделён двумя точками на три части: заголовок.полезная_нагрузка.подпись. Первые две части представляют собой JSON, закодированный в base64url, поэтому их декодирование представляет собой обратимое преобразование, а не расшифровку. Заголовок указывает алгоритм подписи, поле alg, например HS256 или RS256, а также тип токена. Полезная нагрузка содержит claims: идентификатор subject, собственные поля приложения и, как правило, iat (время выдачи) и exp (время истечения), хранящиеся в секундах Unix. Подпись представляет собой криптографическое значение, вычисленное из заголовка и полезной нагрузки; для её проверки нужен секретный или приватный ключ, которым она была создана, поэтому чтение содержимого токена отличается от проверки его подлинности. Некоторые токены подписываются со значением alg none и состоят только из двух частей, заголовок.полезная_нагрузка; декодер принимает и эту короткую форму, оставляя поле подписи пустым. Base64url отличается от обычного base64 тем, что вместо плюса и слэша использует дефис и подчёркивание, и обычно обходится без символа равенства, применяемого для заполнения.

Пример на практике

Вставьте токен наподобие приведённого ниже, и он разделится на три цветных сегмента, после чего заголовок и полезная нагрузка появятся в виде отформатированного JSON.

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI0NjEwMjkzODU3IiwibmFtZSI6Ik1hcmlhIEl2YW5vdmEiLCJpYXQiOjE3MDE3Nzc2MDAsImV4cCI6MTcwOTU1MzYwMH0.e9XIEDiioglrzkdCCqBsOgSj--8

{
  "alg": "HS256",
  "typ": "JWT"
}

{
  "sub": "4610293857",
  "name": "Maria Ivanova",
  "iat": 1701777600,
  "exp": 1709553600
}

Значок Algorithm показывает HS256, считанный из заголовка. Значение iat соответствует 5 декабря 2023 года, а значение exp соответствует 4 марта 2024 года; поскольку эта дата уже прошла, значок Status показывает EXPIRED. Всё это происходит не на сервере: декодирование выполняется в браузере, и инструмент никогда не проверяет подлинность подписи, поскольку у него нет доступа к ключу, которым она была создана.

Часто задаваемые вопросы