Acerca de esta herramienta
Cuando una llamada autenticada a una API falla con 401 o 403, la primera pregunta es qué dice realmente el token: a quién se emitió, para qué audiencia, con qué roles y si ha caducado. Este decodificador divide el token, decodifica el header y el payload en Base64URL y muestra los claims registrados con exp, iat y nbf convertidos en fechas y tiempos relativos. También señala configuraciones que merecen una prueba de seguridad, como alg "none", claves incrustadas o URLs de claves remotas. No verifica la firma: eso requiere el secreto o la clave pública, y los claims decodificados por sí solos no demuestran nada.
Cómo usarla
- Pega el token. El «Bearer » inicial de una cabecera Authorization se elimina automáticamente.
- Revisa el banner de estado para ver la expiración y lee los paneles del header y el payload.
- Usa la tabla de claims para comparar iss, aud y sub con lo que espera la API.
- Revisa los avisos, que sugieren pruebas negativas para ejecutar contra tu API.
Preguntas frecuentes: Decodificador JWT
¿Es seguro pegar aquí un token de producción?
La decodificación se hace íntegramente en tu navegador y el token nunca se envía a ningún sitio, pero se guarda en el almacenamiento local de este navegador por comodidad hasta que pulses “Clear”. Trata un token vigente como una contraseña: usa preferiblemente entornos de prueba y bórralo cuando termines.
¿Por qué el token aparece como válido aquí pero la API lo rechaza?
La expiración es solo una comprobación. El servidor también verifica la firma, el emisor, la audiencia, a veces la hora not-before con un margen de desfase de reloj, y si el token se ha revocado. Un aud o iss que no coincide es una causa habitual de respuestas 401 entre entornos.
¿Qué debo probar cuando veo alg «none» o HS256?
Reenvía el token con alg en "none" y sin firma, y con el payload modificado pero conservando la firma original. Una API correcta debe rechazar ambos. Con HS256, asegúrate también de que el secreto sea largo y aleatorio, porque los secretos HMAC débiles se pueden romper por fuerza bruta offline a partir de cualquier token capturado.