Кодировщик/Декодер JWT
Безопасное декодирование, проверка и генерация JWT-токенов
Декодированный JWT
Заголовок
Полезная нагрузка
Подпись
Заголовок
Полезная нагрузка
Введите данные полезной нагрузки в формате JSON
Секретный ключ
Этот секрет используется для подписи JWT. Храните его в безопасности!
Сгенерированный JWT
Что такое JWT?
JSON Web Token (JWT)
JWT (JSON Web Token) — это открытый стандарт (RFC 7519), который определяет компактный и автономный способ безопасной передачи информации между сторонами в виде объекта JSON. Эта информация может быть проверена и считается надежной, поскольку имеет цифровую подпись. JWT может быть подписан с использованием секрета (с алгоритмом HMAC) или пары открытого/закрытого ключей RSA или ECDSA.
Структура JWT
JWT состоит из трех частей, разделенных точками (.), которые являются:
- Заголовок : Содержит тип токена (JWT) и алгоритм подписи (например, HS256, RS256)
- Полезная нагрузка : Содержит утверждения — заявления о сущности (обычно пользователе) и дополнительные данные
- Подпись : Используется для проверки того, что отправитель JWT является тем, за кого себя выдает, и что сообщение не было изменено в пути
Алгоритмы подписи
JWT поддерживает различные алгоритмы подписи:
- HS256: HMAC с SHA-256. Симметричный алгоритм с использованием общего секрета
- HS384: HMAC с SHA-384. Симметричный алгоритм с более сильным хешем
- HS512: HMAC с SHA-512. Симметричный алгоритм с самым сильным хешем
- RS256: Подпись RSA с SHA-256. Асимметричный алгоритм с использованием пары открытого/закрытого ключей
- RS384: Подпись RSA с SHA-384. Асимметричный алгоритм с более сильным хешем
- RS512: Подпись RSA с SHA-512. Асимметричный алгоритм с самым сильным хешем
Стандартные утверждения
JWT определяет несколько стандартных утверждений (зарегистрированных имен утверждений), которые предоставляют полезную информацию:
- iss (Issuer): Эмитент токена
- sub (Subject): Субъект токена (ID пользователя)
- aud (Audience): Целевая аудитория
- exp (Expiration Time): Время истечения (Unix timestamp)
- nbf (Not Before): Не действителен до указанного времени
- iat (Issued At): Время выпуска
- jti (JWT ID): Уникальный идентификатор токена
Общие варианты использования
- Аутентификация: После входа пользователя каждый последующий запрос включает JWT, обеспечивая доступ к маршрутам, сервисам и ресурсам
- Обмен информацией: Безопасная передача информации между сторонами с проверкой подписи
- Единый вход (SSO): Широко используется для функций SSO благодаря небольшим накладным расходам и междоменной способности
- Авторизация API: Аутентификация без состояния для RESTful API
- OAuth 2.0 и OpenID Connect: Основной компонент современных протоколов аутентификации
Примечание по безопасности: Токены JWT подписываются для проверки подлинности, но не шифруются по умолчанию. Не храните конфиденциальную информацию в полезной нагрузке, если она не зашифрована отдельно. Всегда используйте HTTPS для передачи токенов. Храните токены безопасно (например, httpOnly cookies для веб-приложений). Внедряйте правильные механизмы истечения и обновления токенов. Никогда не раскрывайте свой секретный ключ в коде клиентской стороны.
Справочные материалы
Связанные инструменты
HMAC Генератор
Генерация HMAC кодов аутентификации с алгоритмами MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3 и RIPEMD-160
SHA Генератор хешей
Онлайн-генератор SHA хешей с поддержкой алгоритмов SHA-1, SHA-256, SHA-384, SHA-512
RSA Шифрование/Дешифрование
Использование асимметричного шифрования RSA для шифрования открытым ключом, дешифрования закрытым ключом, цифровой подписи и проверки