Как пользоваться
- Вставьте токен в поле JWT. Он состоит из трёх частей, разделённых точками.
- Прочитайте Алгоритм подписи, чтобы увидеть, как токен заявляет о своей подписи.
- Проверьте Срок действия. Зелёный цвет означает, что токен ещё действителен по времени на вашем устройстве.
- Прочитайте Утверждения и Полезная нагрузка, чтобы увидеть, для кого токен и что он содержит.
Что содержит JWT
JSON Web Token состоит из трёх частей, разделённых точками. Первые две — объекты JSON в кодировке base64url: заголовок говорит, как подписан токен, а полезная нагрузка содержит утверждения, то есть сведения, например, для кого токен и когда он истекает. Третья часть — подпись.
RFC 7519 определяет семь зарегистрированных имён утверждений: iss, sub, aud, exp, nbf, iat и jti. В таблице объясняется каждое из них, а три временных утверждения показаны также как даты на вашем языке.
Декодирование — это не проверка
Эта страница только декодирует токен. Она не проверяет подпись, потому что для этого нужен ключ, которым подписан токен, а ключ проверки — секрет. Декодированный токен всё равно можно подделать, поэтому не доверяйте утверждению только потому, что можете его прочитать здесь.
Чтобы проверить токен, ваш сервер или библиотека должны проверить подпись правильным ключом и ожидаемым алгоритмом и отклонить токен, у которого подпись неверна.
Как читается срок действия
Утверждение exp — это число секунд с 1 января 1970 года, 00:00 UTC. RFC 7519, раздел 4.1.4, говорит, что токен не должен приниматься в этот момент и позже, поэтому в точный момент он уже считается истёкшим.
Токен без утверждения exp не истекает никогда. Страница показывает это красным, потому что токен, который никогда не истекает, — риск, о котором стоит знать.
Пример: образец токена из RFC 7519
Пример из RFC 7519, раздел 3.1, имеет заголовок alg HS256, а полезную нагрузку iss joe, exp 1300819380 и пользовательское утверждение. Значение exp — 22 марта 2011 г., 18:43 UTC, поэтому страница показывает токен как истёкший. Подпись не проверяется, поэтому результат одинаков при любой подписи.
| Утверждение | Значение | Смысл |
|---|---|---|
| iss | joe | Издатель: кто создал токен |
| exp | 1300819380 (22 марта 2011 г., 18:43 UTC) | Время окончания |
| http://example.com/is_root | true | Пользовательское утверждение |
Частые вопросы
Мой токен отправляется на сервер?
Нет. Токен декодируется в вашем браузере, и страница ни сохраняет его, ни отправляет. Это можно проверить: декодируйте токен при отключённом интернете после загрузки страницы.
Проверяет ли эта страница, что токен подлинный?
Нет. Она читает только заголовок и утверждения. Для проверки подписи нужен ключ, которым подписан токен; страница его никогда не запрашивает. Проверку должно выполнять ваше приложение.
Почему страница говорит, что токен истёк, если моё приложение его ещё принимает?
Ваше приложение может допускать льготный период или проверять срок по своим часам. Страница сравнивает exp с временем на вашем устройстве, поэтому неверные часы устройства тоже могут изменить результат.
Что означает алгоритм none?
Заголовок говорит, что у токена нет подписи. Такой токен может написать кто угодно, поэтому сервис не должен принимать его ни для чего важного. Страница отмечает это примечанием.
Почему дата показывает время, которого я не ожидал?
Дата показывается в вашем языке и часовом поясе, с названием пояса в конце. Число перед ней — значение, которое хранится в токене: секунды с 1970 года по UTC.
Может ли эта страница прочитать зашифрованный токен?
Нет. Зашифрованный токен имеет пять частей, и его содержимое нельзя прочитать без ключа. Эта страница читает только подписанные токены, у которых три части.
Источники
- RFC 7519: JSON Web Token (JWT) (на английском)
- RFC 7518: JSON Web Algorithms, значения alg в разделе 3.1 (на английском)
- RFC 4648: кодировка base64url в разделе 5 (на английском)
Цифры и текст в последний раз проверены вторник, 10 ноября 2026 г..