El usuario inicia el login en la aplicación cliente.
Cada fluxo é desenhado como um diagrama de sequência: os atores (utilizador, cliente, servidores) são colunas e as mensagens, setas no tempo. Carrega em Play ou ⏭ para o percorreres passo a passo.
Muda o client_id, redirect_uri, scope, credenciais, etc. e o diagrama regenera-se. Clica em qualquer seta para inspecionar o pedido HTTP real e a sua explicação.
Basic (utilizador:palavra-passe em Base64), Bearer/JWT, Authorization Code, Code + PKCE (o recomendado hoje), Implicit (legado), Client Credentials (máquina a máquina), Device Code (TVs/CLI) e Refresh Token (renovar sem re-login).
Em qualquer passo com pedido HTTP podes copiá-lo como comando curl para o reproduzires no teu terminal. Se o passo levar um JWT, abre-o no descodificador JWT para inspecionares o seu header e payload.
Ativa um ataque para veres um ator Atacante e os passos maliciosos (a vermelho): sniffing de credenciais, alg:none, interceção do código sem PKCE, CSRF por falta de state. Ativa a mitigação e o ataque é neutralizado (a verde), mostrando porque falha.
No separador Comparar escolhes um fluxo de cada lado (ou um par predefinido) e são desenhados ao mesmo tempo. Os passos equivalentes alinham-se na mesma linha (mesmo /authorize, mesmo /token…) para que a diferença salte à vista, e um resumo lista que parâmetros e atores cada um adiciona. Clica em qualquer seta para a inspecionares.
O separador Ferramentas reúne utilitários práticos de OAuth, todos no navegador: gerar e verificar pares PKCE (S256), construir uma URL /authorize pronta a copiar e analisar uma URL de callback (extrai code/state ou os tokens do fragmento e deteta erros).
El usuario inicia el login en la aplicación cliente.