Qué es un JWT y cómo leerlo sin comprometer tu seguridad
Qué es un JWT y por qué está en todas partes
Si tu empresa tiene una web con área de clientes, una app o cualquier integración con servicios externos, casi seguro que usa JWT sin que lo sepas. Cada vez que un usuario inicia sesión y el sistema “recuerda” quién es, lo más probable es que detrás haya un JSON Web Token viajando entre el navegador y el servidor.
Un JWT (JSON Web Token) es un estándar abierto (RFC 7519) para transmitir información entre dos partes como un objeto JSON firmado. Se compone de tres bloques separados por puntos: el header (algoritmo y tipo), el payload (los datos o claims) y la firma, que permite verificar que nadie ha alterado el contenido.
Entenderlo no es solo cosa de programadores. Si contratas un desarrollo, auditas la seguridad de tu web o integras servicios como Auth0, Firebase o Keycloak, saber leer un JWT te ayuda a comprobar qué información circula por tus sistemas.
Las tres partes de un token, explicadas
Un JWT tiene siempre este aspecto: tres cadenas de texto codificadas en Base64 y separadas por puntos.
xxxxx.yyyyy.zzzzz
- Header: indica el tipo de token y el algoritmo de firma (por ejemplo
HS256oRS256). - Payload: contiene los claims, es decir, los datos: quién emitió el token, para quién, cuándo expira y qué permisos otorga.
- Signature: la firma criptográfica. Si alguien modifica una sola letra del payload, la firma deja de ser válida y el servidor rechaza el token.
Un detalle importante que sorprende a mucha gente: el payload no está cifrado, solo codificado. Cualquiera que tenga el token puede leer su contenido. Por eso nunca deben guardarse datos sensibles (contraseñas, números de tarjeta) dentro de un JWT.
Los claims estándar que deberías reconocer
iss(issuer): quién emitió el token.sub(subject): a qué usuario identifica.aud(audience): para qué sistema está destinado.exp(expiration): cuándo deja de ser válido.iat(issued at): cuándo se emitió.
A estos se suman claims personalizados como roles, permisos o el email del usuario.
El riesgo de decodificar tokens en cualquier web
Aquí viene el problema práctico. Cuando un desarrollador necesita inspeccionar un token, lo habitual es pegarlo en una herramienta online. Pero un JWT activo es, a efectos prácticos, una llave de acceso: quien lo tenga puede hacerse pasar por el usuario mientras no expire.
Si esa herramienta online envía el token a su servidor para procesarlo, acabas de entregar una credencial válida a un tercero que no conoces. Es un descuido más común de lo que parece.
La regla es simple: solo usa decodificadores que procesen el token localmente en tu navegador, sin enviarlo a ningún servidor. Y aun así, como buena práctica, evita pegar tokens de producción; usa tokens de entornos de prueba siempre que puedas.
Cómo usar el Decodificador JWT de Rakaty
Hemos publicado una herramienta gratuita que cumple exactamente ese requisito: la decodificación se hace al 100% en tu navegador con JavaScript y ningún dato sale de tu equipo. Está disponible en rakaty.com/herramientas/decodificador-jwt.
El funcionamiento es directo:
- Pega el JWT completo (las tres partes separadas por puntos).
- La herramienta decodifica automáticamente el header y el payload, y muestra el estado de la firma.
- Revisa los claims: emisor, expiración, permisos y cualquier dato personalizado.
- Comprueba la vigencia: verás si el token está activo, expirado o aún no es válido.
Resulta útil para depurar autenticación durante un desarrollo, auditar qué información exponen tus tokens de sesión, revisar integraciones OAuth 2.0 o incluso como material formativo en talleres de seguridad.
Si además gestionas accesos y credenciales en tu empresa, te interesa complementarlo con un buen generador de contraseñas seguras y con una política clara de qué datos pueden circular por cada sistema, algo que tratamos en nuestra guía sobre RGPD e IA con datos de clientes.
Buenas prácticas con JWT en tu empresa
- Expiraciones cortas: un token que dura semanas es un riesgo innecesario. Mejor tokens de corta vida con renovación automática.
- Nada sensible en el payload: recuerda que cualquiera con el token puede leerlo.
- Cookies httpOnly frente a localStorage: si el token se guarda en una cookie httpOnly con los atributos Secure y SameSite, JavaScript no puede acceder a ella y quedas protegido frente a ataques XSS.
- Protege la clave de firma: sin ella no se puede falsificar un token; si se filtra, todo el sistema de autenticación queda comprometido.
Preguntas frecuentes
¿Es seguro pegar mi JWT en la herramienta de Rakaty?
Sí. La decodificación se realiza íntegramente en tu navegador y ningún dato se envía a nuestros servidores; puedes verificarlo en el tráfico de red. Aun así, como buena práctica general, evita pegar tokens de producción en herramientas online y trabaja con tokens de prueba.
¿Se puede falsificar un JWT?
No sin la clave secreta o privada del emisor. La firma criptográfica permite al servidor detectar cualquier alteración: si se modifica el payload, la firma deja de coincidir y el token se rechaza. Por eso lo crítico es custodiar bien esa clave, no ocultar el token en sí.
¿Un JWT expirado sigue siendo peligroso?
Mucho menos, porque el servidor lo rechazará. Pero su payload sigue siendo legible, así que puede revelar información sobre usuarios, roles o estructura interna de tu sistema. Trátalo como documentación sensible aunque ya no sirva para autenticarse.
Conclusion
Los JWT son la pieza invisible que sostiene la autenticación de la mayoría de webs y apps modernas. Saber leerlos con seguridad —sin regalar credenciales a herramientas de terceros— es una pequeña habilidad que evita sustos grandes. El Decodificador JWT gratuito de Rakaty te lo pone fácil: todo en tu navegador, sin registros y sin enviar nada a ningún servidor.
En Rakaty ayudamos a PYMEs a construir integraciones y automatizaciones seguras, cuidando la autenticación y la protección de datos desde el diseño. Si quieres revisar cómo gestiona accesos tu empresa, escríbenos.