Qué hace esta herramienta
Entra un token, salen su cabecera y su carga en JSON.
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.SflKxwRJSMeKKF2QT4fwpM
{
"header": {
"alg": "HS256",
"typ": "JWT"
},
"payload": {
"sub": "1234567890"
}
}
Los dos segmentos van en Base64URL, que es una codificación y no un cifrado: cualquiera que tenga el token puede leerlos, aquí o con tres líneas de código. La firma no se muestra en ningún sitio porque no hay nada que leer en ella: es una prueba, y probar exige una clave.
Descodificar no es verificar
La carga de arriba dice que el sujeto es 1234567890. Que lo diga no prueba nada: cambia el texto, vuelve a codificarlo, y tendrás un token que se descodifica igual de limpio y que falla la verificación. Esta página no puede notar la diferencia, y ningún descodificador puede: para eso está la firma.
Así que: un descodificador sirve para ver lo que un token pretende; tu servidor y tu clave sirven para decidir si creerlo. Si alguna vez se contradicen, la razón la tiene la firma.
Tres segmentos, y solo tres
Not a JWT: expected header.payload.signature, found 2 segments
Un JWT compacto tiene exactamente tres. Dos o cuatro se descodificaban de todos modos: un token cortado por un copiar y pegar volvía con aspecto impecable —un defecto encontrado al escribir esta página y corregido—. Cinco segmentos son otro formato: un JWE, cuya carga está cifrada en vez de codificada, y el mensaje lo dice en lugar de fallar en la descodificación.
Leer la carga
- Los identificadores numéricos largos sobreviven. Un
subde veinte cifras pasa cifra por cifra, en vez de quedar redondeado a un vecino por un número de JavaScript. exp,iatynbfson timestamps Unix. En segundos, no en milisegundos, como manda la especificación. La herramienta de timestamps de este sitio los convierte en fechas.- Las reclamaciones son lo que el emisor puso ahí.
alg,typ,sub,issyaudestán normalizadas; el resto es un acuerdo entre tus dos extremos.
Privado por diseño
Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.