El Rol de Base64URL en los JWT
Un JSON Web Token (JWT) es un medio compacto y seguro para URL para representar afirmaciones entre dos partes. Para garantizar que los tokens JWT puedan transmitirse de forma segura dentro de encabezados HTTP, parámetros de consulta o cookies sin ser modificados por servidores proxy web, el estándar usa codificación Base64URL.
El Base64 estándar contiene caracteres + y /, que tienen significados especiales en URLs. Base64URL reemplaza + con -, / con _, y elimina el relleno = final.
Las Tres Partes de un JWT
Estructura de un JWT:
Encabezado (Base64URL) . Carga útil (Base64URL) . Firma (Base64URL)
Ejemplo: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
¡La Codificación Base64 NO es Cifrado!
Un error común de seguridad es asumir que el contenido de un JWT está cifrado porque parece ilegible. Base64URL es una codificación simple, no un cifrado. Cualquiera que capture un JWT puede decodificar y leer su encabezado y carga útil al instante usando nuestra herramienta Decodificadora de JWT o la Guía Base64. Nunca almacene contraseñas confidenciales o secretos sin cifrar en un JWT.
