El usuario inicia el login en la aplicación cliente.
Cada flujo se dibuja como un diagrama de secuencia: los actores (usuario, cliente, servidores) son columnas y los mensajes, flechas en el tiempo. Pulsa Play o ⏭ para recorrerlo paso a paso.
Cambia el client_id, redirect_uri, scope, credenciales, etc. y el diagrama se regenera. Haz clic en cualquier flecha para inspeccionar la petición HTTP real y su explicación.
Basic (usuario:contraseña en Base64), Bearer/JWT, Authorization Code, Code + PKCE (el recomendado hoy), Implicit (heredado), Client Credentials (máquina a máquina), Device Code (TVs/CLI) y Refresh Token (renovar sin re-login).
En cualquier paso con petición HTTP puedes copiarla como comando curl para reproducirla en tu terminal. Si el paso lleva un JWT, ábrelo en el decodificador JWT para inspeccionar su header y payload.
Activa un ataque para ver un actor Atacante y los pasos maliciosos (en rojo). Cada flujo trae los suyos: sniffing de credenciales, alg:none, intercepción del código sin PKCE, PKCE con plain, CSRF por falta de state, mix-up, refresh token robado, DPoP robado, phishing de código de dispositivo, AiTM o token passthrough en MCP. Activa la mitigación y el ataque se neutraliza (en verde), mostrando por qué falla. Los ataques al propio JWT (kid, jwk, typ…) están en el Laboratorio de flujos de autenticación.
En la pestaña Comparar eliges un flujo a cada lado (o un par predefinido) y se dibujan a la vez. Los pasos equivalentes se alinean en la misma fila (mismo /authorize, mismo /token…) para que la diferencia salte a la vista, y un resumen lista qué parámetros y actores añade cada uno. Haz clic en cualquier flecha para inspeccionarla.
La pestaña Herramientas reúne utilidades prácticas de OAuth, todas en el navegador: generar y verificar pares PKCE (S256), construir una URL /authorize lista para copiar, analizar una URL de callback (extrae code/state o los tokens del fragmento y detecta errores), auditar una petición /authorize contra RFC 9700 y auditar los metadatos del servidor (openid-configuration): qué defensas anuncia y cuáles le faltan.
El usuario inicia el login en la aplicación cliente.