Открытая инфраструктура аутентификации и авторизации на базе OIDC и OAuth 2.1, с поддержкой мультитенантности, корпоративного SSO и RBAC для SaaS- и AI-приложений.
jwtk/jjwt
Java-библиотека для создания, разбора и проверки JSON Web Tokens (JWT) и JSON Web Keys (JWK) на JVM и Android.
- Звёзды
- 11,145
- Форки
- 1,400
- Открытые issues
- 49
- Последний коммит
- в прошлом месяце
Что это?
JJWT — чистая реализация спецификаций JOSE на Java для JSON Web Tokens, включая форматы подписанных (JWS), зашифрованных (JWE) токенов и ключей (JWK). Библиотека упрощает создание и проверку токенов благодаря удобному fluent builder API и автоматическим проверкам безопасности.
Библиотека поддерживает все стандартные алгоритмы подписи JWS (HMAC, ECDSA, RSA и EdDSA), а также алгоритмы шифрования и управления ключами JWE. При разборе можно проверять такие claims, как срок действия и время, до которого токен ещё не действует; кроме того, поддерживается сжатие полезной нагрузки. Объекты claims можно сериализовать с помощью Jackson или Gson.
JJWT работает на Java 8+ и Android. Модуль API — единственная зависимость на этапе компиляции, а реализация и обработчик JSON объявляются как зависимости времени выполнения. В документации описаны настройки Maven и Gradle, а также правила ProGuard для Android.
Ключевые возможности
- 01Создание, разбор и проверка подписанных JWT (JWS) с алгоритмами HS, ES, RS, PS и EdDSA.
- 02Поддержка шифрования и расшифрования JWE со стандартными алгоритмами AEAD и управления ключами.
- 03Создание, разбор и проверка JSON Web Keys для распространённых типов ключей Java.
- 04Fluent builder API с автодополнением в IDE.
- 05Проверка claims и сериализация POJO с помощью Jackson или Gson.
Сценарии использования
- Выпуск и проверка токенов доступа в серверном приложении на Java или Spring.
- Добавление аутентификации на основе токенов в Android-приложение.
- Шифрование конфиденциальных claims в токене с помощью JWE.
- Публикация или получение наборов JSON Web Key при интеграции с системой идентификации.
Что важно знать
- Сериализация и разбор JWS в форматах, отличных от компактного, не поддерживаются.
- Для PS256/PS384/PS512 требуется Java 11 или новее либо совместимый провайдер JCA, например BouncyCastle.
- Для ключей EdDSA и XDH требуется Java 15 или новее либо совместимый провайдер JCA, например BouncyCastle.
В подборках
Темы
Частые вопросы
- Что такое jjwt?
- Java-библиотека для создания, разбора и проверки JSON Web Tokens (JWT) и JSON Web Keys (JWK) на JVM и Android. JJWT — чистая реализация спецификаций JOSE на Java для JSON Web Tokens, включая форматы подписанных (JWS), зашифрованных (JWE) токенов и ключей (JWK). Библиотека упрощает создание и проверку токенов благодаря удобному fluent builder API и автоматическим проверкам безопасности.
- jjwt можно использовать бесплатно? Какая у него лицензия?
- jjwt распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- jjwt всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в jjwt — 4 окт. 2026 г..
- Для чего можно использовать jjwt?
- Выпуск и проверка токенов доступа в серверном приложении на Java или Spring. Добавление аутентификации на основе токенов в Android-приложение. Шифрование конфиденциальных claims в токене с помощью JWE. Публикация или получение наборов JSON Web Key при интеграции с системой идентификации.
- Где скачать jjwt?
- Исходный код и инструкции по установке — на GitHub: https://github.com/jwtk/jjwt
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Пакет JWT-аутентификации для Laravel и Lumen: выпускает и проверяет JSON Web Token для входа в API.
Сервер аутентификации и управления пользователями на Go, который выпускает JWT и служит основой Supabase Auth.
Официальные JavaScript SDK для Clerk — облачного сервиса регистрации, входа и управления профилями пользователей в веб-приложениях.
Лёгкий Identity Provider на Rust для единого входа через OpenID Connect, OAuth 2 и PAM с особым упором на passkey.
Java-фреймворк для аутентификации и авторизации: вход, права доступа, SSO, OAuth2, JWT и подпись API в Spring и других веб-стеках.