Repolode
jwtk

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