Lección 4

Errores comunes con JWT

Evita problemas habituales de validación y manejo de JSON Web Tokens.

Los bugs de JWT suelen venir de tratar un token compacto como si fuera un registro de sesión de confianza. El formato es simple, pero las reglas de validación importan.

Confiar en payloads decodificados

El payload es JSON legible. Cualquiera puede crear una cadena con forma de token con campos arbitrarios. Nunca concedas acceso solo porque un payload decodificado contiene admin: true o un sub familiar.

Ignorar audiencia y emisor

Un token emitido para una API no debería funcionar automáticamente para otra. Comprueba siempre iss y aud según tu proveedor de identidad y el límite del servicio.

Aceptar algoritmos inesperados

Las aplicaciones deberían permitir solo los algoritmos que esperan. Los bugs de confusión de algoritmos ocurren cuando un verificador acepta un valor de header que cambia cómo se comprueban las firmas.

Manejar mal la expiración

Comprueba exp frente a la hora actual usando segundos, no milisegundos. Decide también cuánto desfase de reloj permite tu sistema, especialmente entre servicios distribuidos.

Filtrar tokens

Los JWT suelen ser credenciales portadoras. Si alguien puede usar el token, puede actuar como el sujeto hasta que expire o se revoque. Evita poner tokens en logs, capturas de pantalla, gestores de incidencias o eventos de analítica.

Inspecciona tokens de depuración con el Decodificador JWT sin copiarlos a sistemas externos.

Volver al resumen del curso