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): sniffing de credenciales, alg:none, intercepción del código sin PKCE, CSRF por falta de state. Activa la mitigación y el ataque se neutraliza (en verde), mostrando por qué falla.
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 y analizar una URL de callback (extrae code/state o los tokens del fragmento y detecta errores).
El usuario inicia el login en la aplicación cliente.