¿Qué afirmación sobre un JWT firmado estándar (JWS) es verdadera?
Opciones
- Su payload está cifrado, así que solo el servidor puede leerlo
- Su payload solo está en base64url; la firma impide modificarlo (Opción correcta)
- Se puede revocar al instante en el servidor por defecto
- Siempre debe guardarse en el localStorage del navegador
Respuesta
Su payload solo está codificado en base64url; cualquiera puede leerlo, pero la firma impide manipularlo
Por qué
Un JWT tiene tres partes: header.payload.signature. El payload solo está codificado (base64url), NO cifrado: cualquiera puede decodificarlo y leerlo (prueba en jwt.io).
La firma, hecha con la clave secreta del servidor, demuestra que el token lo emitió el servidor y no se modificó. Si alguien cambia el payload, la firma deja de coincidir.
Así que nunca pongas contraseñas ni secretos en un JWT.
Recuerda
Cualquiera puede leer el payload de un JWT; la firma solo impide manipularlo.