Cómo funciona la autenticación con JWT · Mapas mentales

Cómo funciona la autenticación con JWT. Un mapa mental editable con ramas de colores, ideas secundarias y conexiones. Las líneas curvas muestran relaciones; las flechas aparecen cuando importa la dirección.

Un JSON Web Token es una declaración firmada y autocontenida de quién eres: el servidor lo crea una vez al iniciar sesión, y cada petición posterior se demuestra con el token en lugar de consultar una sesión.

Cómo funciona la autenticación con JWT · Mapas mentales

El lienzo interactivo de MindMap de esta explicación: cada carril, cada fila y cada flecha de arriba forma parte de un diagrama real de QueryChart que puedes abrir y editar.

Cómo leer este mapa mental

  • Empieza por el tema central y sigue una rama de color para explorar sus ideas.
  • Las líneas curvas muestran relaciones; las flechas aparecen cuando importa la dirección.

Sign in

Esta rama reúne “User submits email and password”, “Credentials valid?”, “Sign-in rejected”, “Server verifies the credentials against the database”.

Build token

Esta rama reúne “A JWT is three dot-separated parts: a header (algorithm), a payload of claims (who the user is, when the token expires), and a signature. The payload is readable by anyone — it is not secret, it is tamper-evident.”, “Server signs the token with its secret key”.

Client carries JWT

Esta rama reúne “Client receives the JWT and stores it”, “Client sends the JWT in the Authorization header”.

Verify

Esta rama reúne “Because the server never stores session state, this check is what makes JWT authentication “stateless” — no session table to look up on every request.”, “Signature valid and not expired?”.

Authorize or reject

Esta rama reúne “Server trusts the claims and processes the request”, “Request rejected with 401”.

Conexiones entre ramas

Un JWT son tres partes (cabecera, payload y firma) unidas por puntos; el payload es legible, pero delata cualquier manipulación.

La firma convierte la identidad en una capacidad: tener un token válido y no caducado es lo que autentica la petición.

La verificación no tiene estado: recalcular la firma sustituye a la consulta de sesión.

El cliente tiene que guardar el token a salvo y enviarlo con cada petición, así que su caducidad es la verdadera frontera de seguridad.

JWT y OAuth encajan: OAuth decide qué puede hacer el cliente, y JWT es un formato habitual para el token que lo transporta.

Relaciones clave y conclusiones

  • Un JWT son tres partes (cabecera, payload y firma) unidas por puntos; el payload es legible, pero delata cualquier manipulación.
  • La firma convierte la identidad en una capacidad: tener un token válido y no caducado es lo que autentica la petición.
  • La verificación no tiene estado: recalcular la firma sustituye a la consulta de sesión.
  • El cliente tiene que guardar el token a salvo y enviarlo con cada petición, así que su caducidad es la verdadera frontera de seguridad.
  • JWT y OAuth encajan: OAuth decide qué puede hacer el cliente, y JWT es un formato habitual para el token que lo transporta.

Cuándo usar este diagrama

  • Enseñar a un equipo de backend nuevo por qué no hace falta ninguna tabla de sesiones y qué demuestra realmente la firma.
  • Elegir entre JWT y sesiones en el servidor para un servicio donde el escalado horizontal vuelve incómodo el estado compartido.
  • Revisar los claims de un token (caducidad, emisor, audiencia) antes de confiar en él dentro de un microservicio.

Cómo funciona

  1. Adapta el tema central

    Cambia el nombre del tema para adaptarlo a tu proyecto o clase.

  2. Desarrolla las ramas

    Edita las ideas y añade ejemplos o notas.

  3. Conecta ideas relacionadas

    Dibuja conexiones entre ramas; usa flechas cuando la dirección importe.

Preguntas frecuentes

¿Qué es un JWT y qué contiene?

Un JSON Web Token es una cadena de tres partes separadas por puntos: una cabecera que indica el algoritmo de firma, un payload de claims sobre el usuario y sobre la vida del token, y una firma. La cabecera y el payload son JSON codificado en base64 (legible por cualquiera) y la firma es lo que impide cambiarlos sin la clave de firma.

¿Por qué se dice que la autenticación con JWT no tiene estado?

Porque el servidor no guarda nada sobre la sesión. Cada petición llega con el token, y el servidor verifica la firma y la caducidad en el momento. No hay ninguna tabla de sesiones que consultar ni estado que replicar entre servidores, y eso es lo que permite que el enfoque escale horizontalmente. El coste es que un token no se puede revocar antes de que caduque sin maquinaria adicional.

¿Es seguro un JWT si cualquiera puede leer el payload?

Leer y confiar son cosas distintas. El payload no está cifrado (no pongas secretos en él), pero la firma hace que cualquier modificación invalide el token, así que un cliente no puede cambiar sus propios claims. Para la seguridad del transporte, el token viaja dentro de HTTPS, y los datos a los que da acceso los protege el servidor de recursos aplicando los claims.

¿Cómo se relacionan JWT y OAuth?

Resuelven mitades distintas del problema. OAuth es el protocolo de autorización: cómo obtiene un cliente el permiso y el token. JWT es un formato de token. En la práctica, los tokens de acceso de OAuth suelen ser JWT: el servidor de autorización firma un JWT que transporta los ámbitos, y los servidores de recursos lo verifican. Este lienzo cubre la mitad de la autenticación; el diagrama de OAuth cubre la mitad de la delegación.

Editar este mapa mental en QueryChart

Abre este mapa mental en un lienzo editable. Mueve ideas, añade ramas y dibuja conexiones.

Editar este mapa mental en QueryChart

Más en Mapas mentales