L'utilisateur démarre la connexion dans l'application cliente.
Chaque flux est dessiné comme un diagramme de séquence : les acteurs (utilisateur, client, serveurs) sont des colonnes et les messages, des flèches dans le temps. Appuyez sur Play ou ⏭ pour le parcourir pas à pas.
Modifiez le client_id, redirect_uri, scope, les identifiants, etc. et le diagramme se régénère. Cliquez sur n'importe quelle flèche pour inspecter la vraie requête HTTP et son explication.
Basic (utilisateur:mot de passe en Base64), Bearer/JWT, Authorization Code, Code + PKCE (le recommandé aujourd'hui), Implicit (hérité), Client Credentials (machine à machine), Device Code (TV/CLI) et Refresh Token (renouveler sans se reconnecter).
Sur n'importe quelle étape avec une requête HTTP, vous pouvez la copier comme commande curl pour la rejouer dans votre terminal. Si l'étape porte un JWT, ouvrez-le dans le décodeur JWT pour inspecter son header et son payload.
Active une attaque pour voir un acteur Attaquant et les étapes malveillantes (en rouge). Chaque flux apporte les siennes : sniffing d'identifiants, alg:none, interception du code sans PKCE, PKCE avec plain, CSRF par absence de state, mix-up, refresh token volé, DPoP volé, phishing de code d'appareil, AiTM ou token passthrough dans MCP. Active la mitigation et l'attaque est neutralisée (en vert), montrant pourquoi elle échoue. Les attaques sur le JWT lui-même (kid, jwk, typ…) sont dans le Laboratoire de flux d'authentification.
Dans l'onglet Comparer, vous choisissez un flux de chaque côté (ou une paire prédéfinie) et ils sont dessinés en même temps. Les étapes équivalentes s'alignent sur la même ligne (même /authorize, même /token…) pour que la différence saute aux yeux, et un résumé liste quels paramètres et acteurs chacun ajoute. Cliquez sur n'importe quelle flèche pour l'inspecter.
L'onglet Outils réunit des utilitaires OAuth pratiques, tous dans le navigateur : générer et vérifier des paires PKCE (S256), construire une URL /authorize prête à copier, analyser une URL de callback (extrait code/state ou les tokens du fragment et détecte les erreurs), auditer une requête /authorize par rapport à la RFC 9700 et auditer les métadonnées du serveur (openid-configuration) : quelles défenses il annonce et lesquelles lui manquent.
L'utilisateur démarre la connexion dans l'application cliente.