Infraestructura open source de autenticación y autorización basada en OIDC y OAuth 2.1, con multitenencia, SSO empresarial y RBAC para aplicaciones SaaS y de IA.
jwtk/jjwt
Biblioteca Java para crear, analizar y verificar JSON Web Tokens (JWT) y JSON Web Keys (JWK) en la JVM y Android.
- Estrellas
- 11,144
- Forks
- 1,401
- Issues abiertos
- 49
- Último commit
- el mes pasado
¿Qué es?
JJWT es una implementación puramente Java de las especificaciones JOSE para JSON Web Tokens, que abarca los formatos firmados (JWS), cifrados (JWE) y de claves (JWK). Su objetivo es facilitar la creación y verificación de tokens mediante una API fluida de creación y comprobaciones de seguridad automáticas.
La biblioteca admite todos los algoritmos estándar de firma JWS (HMAC, ECDSA, RSA y EdDSA), así como los algoritmos de cifrado y gestión de claves JWE. Al analizar los tokens, se pueden validar claims como la fecha de expiración y la fecha a partir de la cual son válidos, y también se pueden comprimir los payloads. Los objetos de claims se pueden serializar mediante Jackson o Gson.
JJWT funciona con Java 8 o superior y con Android. Su módulo de API es la única dependencia en tiempo de compilación; la implementación y el procesador JSON se declaran como dependencias en tiempo de ejecución. La documentación incluye la configuración para Maven y Gradle, así como reglas de ProGuard para Android.
Funciones clave
- 01Crea, analiza y verifica JWT firmados (JWS) con algoritmos HS, ES, RS, PS y EdDSA.
- 02Admite el cifrado y descifrado JWE con algoritmos estándar AEAD y de gestión de claves.
- 03Crea, analiza y verifica JSON Web Keys para tipos de claves habituales en Java.
- 04API fluida de creación, diseñada para aprovechar el autocompletado del IDE.
- 05Validación de claims y serialización de POJO mediante Jackson o Gson.
Casos de uso
- Emitir y verificar tokens de acceso en un servicio backend con Java o Spring.
- Añadir autenticación basada en tokens a una aplicación Android.
- Cifrar claims confidenciales dentro de un token mediante JWE.
- Publicar o consumir conjuntos de JSON Web Keys en una integración de identidad.
Antes de usarlo
- No se admite la serialización ni el análisis de JWS en formatos distintos del compacto.
- PS256/PS384/PS512 requieren Java 11 o posterior, o un proveedor JCA compatible como BouncyCastle.
- Las claves EdDSA y XDH requieren Java 15 o posterior, o un proveedor JCA compatible como BouncyCastle.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es jjwt?
- Biblioteca Java para crear, analizar y verificar JSON Web Tokens (JWT) y JSON Web Keys (JWK) en la JVM y Android. JJWT es una implementación puramente Java de las especificaciones JOSE para JSON Web Tokens, que abarca los formatos firmados (JWS), cifrados (JWE) y de claves (JWK). Su objetivo es facilitar la creación y verificación de tokens mediante una API fluida de creación y comprobaciones de seguridad automáticas.
- ¿jjwt es gratuito? ¿Qué licencia tiene?
- jjwt es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿jjwt sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de jjwt fue el 4 oct 2026.
- ¿Para qué puedo usar jjwt?
- Emitir y verificar tokens de acceso en un servicio backend con Java o Spring. Añadir autenticación basada en tokens a una aplicación Android. Cifrar claims confidenciales dentro de un token mediante JWE. Publicar o consumir conjuntos de JSON Web Keys en una integración de identidad.
- ¿Dónde consigo jjwt?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/jwtk/jjwt
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Paquete de autenticación JWT para Laravel y Lumen que emite y valida JSON Web Tokens para iniciar sesión en API.
Servidor de autenticación y gestión de usuarios escrito en Go que emite JWT y sirve de base para Supabase Auth.
SDKs oficiales de JavaScript de Clerk, un servicio alojado para gestionar el registro, el inicio de sesión y los perfiles de usuario en aplicaciones web.
Proveedor de identidad ligero basado en Rust para el inicio de sesión único con OpenID Connect, OAuth 2 y PAM, con especial atención a las passkeys.
Framework de autenticación y autorización para Java que abarca inicio de sesión, permisos, SSO, OAuth2, JWT y firma de API para Spring y otros stacks web.