JWT decoder

/

Tus datos son 100% privados: el JWT se decodifica y codifica completamente en tu dispositivo.

JWT
Encabezado decodificado
Carga útil decodificada
Clave pública

Aprende sobre JWT

Toda la información que te interesa sobre JWT y una guía paso a paso para verificar JWT en diversos marcos.

¿Qué es JWT?

JWT (Token Web JSON) es un token autónomo y sin estado que lleva información en un formato estructurado y legible. Ya sea que estés protegiendo una API o adoptando autenticación basada en tokens para tu aplicación, los JWT son una herramienta poderosa, porque:

  • Sin estado: Los JWT son autónomos y no requieren estado del lado del servidor para validar. JWT puede asegurar la integridad de los datos a través de firmas.
  • Compatibilidad entre servicios: Los JWT pueden ser fácilmente compartidos y verificados entre diferentes servicios.
  • Extensible: La carga útil de un JWT puede contener afirmaciones personalizadas, lo que permite una autorización flexible y compartir información.
Aprende más

La estructura de JWT

Un JWT típico se divide en tres partes, cada una codificada en Base64URL y separada por puntos (.):

  • Encabezado - Contiene metadatos, como el algoritmo de firma (por ejemplo, HS256 o RS256) y el tipo de token (JWT).
  • Carga útil - Contiene los datos reales, como el ID del usuario, el perfil del usuario, el tiempo de expiración o los alcances.
  • Firma - Una combinación encriptada del Encabezado, la Carga útil y asegurada usando una clave secreta. Su propósito es asegurar la integridad del token y confirmar que no ha sido alterado

Esta estructura permite que los JWT ofrezcan una forma compacta y segura de transmitir información entre partes.

jwt_structure

Reclamaciones comunes de tokens en JWT

Las reclamaciones son parte de la carga útil y contienen la información clave. Aquí están las Reclamaciones Registradas estandarizadas para tu referencia:

ReclamacionesNombre completoDescripción
issEmisorLa entidad que emitió el JWT, como el servidor de autorización.
subSujetoIdentifica al sujeto del JWT, generalmente representando al usuario autenticado.
audAudienciaEspecifica qué receptores pueden aceptar y procesar el token. Esto puede ser un array de valores para múltiples audiencias o un solo valor para un único receptor.
expTiempo de expiraciónEstablece un tiempo de expiración en el token después del cual se vuelve inválido. Esto ayuda a prevenir ataques de reproducción limitando cuánto tiempo un token permanece válido.
nbfNo antes deHace que un token sea válido solo después de esta marca de tiempo. Útil en situaciones donde no se puede acceder a relojes.
iatEmitido enCuando se creó el token. Esto se puede usar para determinar la edad del token.
jtiID de JWTUn identificador único para el token, útil para prevenir que el mismo token sea utilizado múltiples veces (por ejemplo, en ataques de reproducción).

Dependiendo de la especificación y la configuración del servidor de autorización, pueden incluirse reclamaciones adicionales en la carga útil para soportar casos de uso específicos. También puedes agregar reclamaciones personalizadas a JWT para cumplir con requisitos comerciales únicos.

Precaución: No almacenes información privada o sensible en las reclamaciones de JWT. Aunque las reclamaciones de JWT están codificadas (usando Base64URL), no están encriptadas. Esto significa que cualquiera con el token puede decodificarlo y ver las reclamaciones, incluso si no puede alterarlo sin invalidar la firma. Usa encriptación u otros métodos seguros para proteger datos sensibles cuando sea necesario.

¿Cuándo usar JWT?

Los JWT pueden ser particularmente beneficiosos en los siguientes escenarios:

  1. Arquitectura de microservicios: Para autenticación sin estado entre múltiples servicios.
  2. Sistemas de inicio de sesión único (SSO): Permitir el acceso a múltiples aplicaciones con una autenticación.
  3. Aplicaciones móviles: Mantener eficientemente las sesiones de usuario a través de llamadas a la API.
  4. Aplicaciones de alto tráfico: Reducir la carga de la base de datos en entornos de alto volumen.
  5. Compartición de recursos entre orígenes (CORS): Simplificar la autenticación entre múltiples dominios.
  6. Arquitecturas sin servidor: Proporcionando autenticación sin estado donde las sesiones del lado del servidor son desafiantes.
Aprende más

¿Cómo verificar JWT?

La integridad de un JWT debe ser verificada para asegurar que su encabezado y carga útil no han sido alterados. A continuación se presentan ejemplos paso a paso para verificar JWTs en entornos de programación populares:

Temas relacionados con JWT

Toda la información que te interesa sobre JWT y una guía paso a paso para verificar JWT en diversos marcos.

Desbloquea más con Logto Cloud

Simplifica tu flujo de trabajo y asegura la gestión de usuarios con Logto Cloud. Construido sobre OpenID Connect (OIDC), se apoya en JWT para ofrecer un sistema de autenticación y autorización confiable diseñado para escalar según tus necesidades.