Codificador/Decodificador JWT
Decodifica, verifica y genera tokens JWT de forma segura
JWT decodificado
Encabezado
Carga útil
Firma
Encabezado
Carga útil
Ingrese sus datos de carga útil en formato JSON
Clave secreta
Esta clave secreta se utiliza para firmar el JWT. ¡Manténgala segura!
JWT generado
¿Qué es JWT?
JSON Web Token (JWT)
JWT (JSON Web Token) es un estándar abierto (RFC 7519) que define una forma compacta y autocontenida para transmitir de forma segura información entre partes como un objeto JSON. Esta información puede ser verificada y confiable porque está firmada digitalmente. Los JWT pueden firmarse usando un secreto (con el algoritmo HMAC) o un par de claves pública/privada usando RSA o ECDSA.
Estructura JWT
Un JWT consta de tres partes separadas por puntos (.), que son:
- Encabezado : Contiene el tipo de token (JWT) y el algoritmo de firma (por ejemplo, HS256, RS256)
- Carga útil : Contiene las reclamaciones - declaraciones sobre una entidad (típicamente el usuario) y datos adicionales
- Firma : Se utiliza para verificar que el remitente del JWT es quien dice ser y para asegurar que el mensaje no se modificó en el camino
Algoritmos de firma
JWT soporta varios algoritmos de firma:
- HS256: HMAC con SHA-256. Algoritmo simétrico usando un secreto compartido
- HS384: HMAC con SHA-384. Algoritmo simétrico con hash más fuerte
- HS512: HMAC con SHA-512. Algoritmo simétrico con hash más fuerte
- RS256: Firma RSA con SHA-256. Algoritmo asimétrico usando par de claves pública/privada
- RS384: Firma RSA con SHA-384. Algoritmo asimétrico con hash más fuerte
- RS512: Firma RSA con SHA-512. Algoritmo asimétrico con hash más fuerte
Reclamaciones estándar
JWT define varias reclamaciones estándar (nombres de reclamaciones registrados) que proporcionan información útil:
- iss (Issuer): Emisor del token
- sub (Subject): Sujeto del token (ID de usuario)
- aud (Audience): Audiencia prevista
- exp (Expiration Time): Tiempo de expiración (marca de tiempo Unix)
- nbf (Not Before): No válido antes de este tiempo
- iat (Issued At): Tiempo de emisión
- jti (JWT ID): Identificador único del token
Casos de uso comunes
- Autenticación: Después del inicio de sesión del usuario, cada solicitud subsiguiente incluye el JWT, permitiendo el acceso a rutas, servicios y recursos
- Intercambio de información: Transmitir de forma segura información entre partes con verificación de firma
- Inicio de sesión único (SSO): Ampliamente utilizado para funciones de SSO debido a la baja sobrecarga y capacidad entre dominios
- Autorización API: Autenticación sin estado para APIs RESTful
- OAuth 2.0 y OpenID Connect: Componente central de los protocolos de autenticación modernos
Nota de seguridad: Los tokens JWT están firmados para verificar la autenticidad pero no están cifrados por defecto. No almacene información sensible en la carga útil a menos que esté cifrada por separado. Use siempre HTTPS para transmitir tokens. Almacene tokens de forma segura (por ejemplo, cookies httpOnly para aplicaciones web). Implemente mecanismos apropiados de expiración y renovación de tokens. Nunca exponga su clave secreta en código del lado del cliente.