PKCE
Proof Key for Code Exchange — extension OAuth (RFC 7636, 2015) qui protège le flux authorization-code pour les clients publics (applications mobiles, SPA). Élimine le besoin d'un client_secret que le client ne peut de toute façon pas garder confidentiel.
Déroulement : le client génère un code_verifier (chaîne aléatoire de 43 à 128 caractères), calcule code_challenge = SHA256(verifier), et envoie ce challenge avec la requête d'autorisation. À l'échange du jeton, le verifier est transmis — le serveur vérifie que SHA256(verifier) correspond au challenge de la première étape. Protège contre un authorization code volé (l'attaquant ne peut pas l'échanger sans le verifier). OAuth 2.1 (brouillon) exige PKCE pour TOUS les clients, pas seulement les publics. AWS Cognito, Auth0 et Okta imposent PKCE pour les flux SPA.