OAuth 2.1
Advanced Ecosystem 🟡 MidDéfinition
Révision d'OAuth 2.0 qui consolide dans une seule spécification les bonnes pratiques de sécurité accumulées depuis 2012. Encore un brouillon IETF (draft-ietf-oauth-v2-1-15 du 2 mars 2026), il rend PKCE obligatoire pour le flux Authorization Code, supprime les flux Implicit et Resource Owner Password, exige la comparaison exacte des redirect_uri, interdit les jetons bearer dans les paramètrès d'URL et impose rotation ou liaison des refresh tokens. Le protocole MCP l'a adopté pour son autorisation.
Analogie
Le code de la route réédité : pas de nouvelles routes, mais les mauvaises habitudes tolérées (rouler sans ceinture) deviennent des infractions.
Exemple de code
// Client OAuth 2.1 : Authorization Code + PKCE, même pour un backend
const verifier = base64url(crypto.getRandomValues(new Uint8Array(32)));
const challenge = base64url(await sha256(verifier));
const authorizeUrl = new URL('https://auth.example.com/authorize');
authorizeUrl.search = new URLSearchParams({
response_type: 'code', // plus de response_type=token (Implicit)
client_id: CLIENT_ID,
redirect_uri: 'https://app.example.com/cb', // comparée à l'octet près
code_challenge: challenge,
code_challenge_method: 'S256',
state: csrfToken,
scope: 'openid profile',
});
// Échange du code : POST /token avec code_verifier, jamais dans l'URL.
Cas d'usage
Toute nouvelle intégration OAuth (SPA, mobile, backend, agents MCP) : appliquer 2.1 dès aujourd'hui évite une migration future.
Anti-pattern
Termes liés
Fiche mise à jour le 2026-09-27