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.