devopscodepro
Язык
Работает полностью в браузере — данные не покидают страницу.

Декодер JWT

Заголовок, клеймы и статус срока действия. Подпись не проверяется.

подпись не проверяется — инструмент показывает содержимое, а не аутентифицирует

Что делает этот декодер и чего не делает

JWT — это три base64url-сегмента: заголовок, набор утверждений и подпись. Инструмент разбирает и декодирует первые два, чтобы вы прочитали, что токен на самом деле утверждает — издателя, субъекта, права, срок действия — не вставляя его в терминал.

Подпись не проверяется. Для проверки нужен ключ издателя, и инструмент, который его запрашивает, просит не то.

Почему не проверяется подпись?

Потому что проверка требует секрета или публичного ключа, а отдавать любой из них веб-странице — плохая привычка. Декодирование отвечает на обычные вопросы: истёк ли токен, для какой аудитории он выпущен, какие в нём права, — и ни для одного из них ключ не нужен.

Безопасно ли вставлять сюда токен?

Декодирование идёт в вашем браузере, ничего не передаётся. При этом действующий access-токен — это учётные данные: если он продакшен-токен из чужой системы, вставку куда бы то ни было стоит считать событием, о котором нужно подумать.

Токен выглядит валидным — почему API его отклоняет?

Сначала сверьте exp с текущим временем — расхождение часов между сервисами самая частая причина. Затем aud и iss: токен, выпущенный для одной аудитории, справедливо отклоняется другой, и показанные здесь утверждения дают понять, какая есть какая.

Утверждения зашифрованы?

Нет. Обычный JWT подписан, но не зашифрован: любой держатель прочитает каждое поле ровно так же, как эта страница. Никогда не кладите в JWT то, чего предъявителю видеть не следует.

Смежные инструменты: Base64, Timestamp и Проверка утечки пароля.