Декодер JWT
Вставьте токен — получите читаемый заголовок, payload и проверку подписи. Всё работает прямо в браузере.
JWT (JSON Web Token) — открытый стандарт RFC 7519 для безопасной передачи информации между сторонами в виде JSON-объекта. Токен подписывается цифровой подписью — это позволяет проверить его подлинность, но не скрывает содержимое.
JWT состоит из трёх частей, разделённых точкой. Каждая часть закодирована в Base64url — это URL-безопасный вариант Base64, в котором + заменяется на -, а / — на _.
Спецификация RFC 7519 определяет набор зарезервированных полей payload — так называемых registered claims. Их использование необязательно, но рекомендовано для совместимости.
| Поле | Название | Описание | |
|---|---|---|---|
| iss | Issuer | Кто выдал токен — домен или идентификатор сервиса. | опц. |
| sub | Subject | Идентификатор субъекта — обычно ID пользователя или устройства. | опц. |
| aud | Audience | Для кого предназначен токен. | опц. |
| exp | Expiration Time | Время истечения токена (Unix timestamp). После него токен недействителен. | важно |
| nbf | Not Before | Токен не должен приниматься до указанного момента. | опц. |
| iat | Issued At | Время создания токена. | опц. |
| jti | JWT ID | Уникальный идентификатор токена для защиты от replay-атак. | опц. |
Помимо стандартных, можно добавлять любые произвольные поля: roles, email, permissions и т.д. Они называются private claims.
Поле alg в заголовке определяет, каким алгоритмом подписан токен. Выбор алгоритма влияет на безопасность и архитектуру системы.
alg с RS256 на HS256 и подписать токен публичным ключом как секретом. Сервер должен явно указывать ожидаемый алгоритм.Authorization: Bearer <token>. По незашифрованному HTTP токен легко перехватить. Всегда используйте TLS.httpOnly cookie и нужен только для получения нового access-токена.httpOnly; Secure; SameSite=Strict cookie.