Lección 1
Qué es un JWT
Comprende el formato compacto JWT y dónde lo encuentran los desarrolladores.
Un JSON Web Token, abreviado JWT, es una cadena compacta que transporta claims JSON entre sistemas. Suele verse en peticiones API, almacenamiento del navegador, cookies, flujos OAuth y autenticación entre servicios.
Los tres segmentos
Un JWT compacto tiene tres partes separadas por puntos:
header.payload.signature
- El header describe el tipo de token y el algoritmo de firma.
- El payload contiene claims: hechos que el token transporta.
- La firma permite al verificador detectar manipulación cuando tiene la clave y reglas de validación correctas.
Los dos primeros segmentos son JSON codificado en Base64URL. Están pensados para transportarse con facilidad, no para ocultarse de quien lee.
Los JWT son legibles
Cualquiera con la cadena del token puede decodificar header y payload. Por eso no deben ir secretos sensibles en el payload salvo que el token esté cifrado con un mecanismo aparte.
Los JWT son útiles porque son compactos
Son populares porque encajan en headers HTTP y facilitan la verificación en sistemas distribuidos sin consulta central de sesión. Esa misma comodidad crea riesgo cuando las aplicaciones omiten la verificación o confían en claims incorrectos.