OAuth2
Advanced Ecosystem 🟡 MidDefinition
Protocole d'autorisation déléguée permettant à une app d'accéder aux ressources d'un utilisateur sans connaître son mot de passe. Définit plusieurs flows selon le contexte.
Analogie
Donner un passe limité au plombier pour accéder à la salle de bain sans lui donner les clés de toute la maison.
Exemple de code
// Authorization Code flow (redirect)
const authUrl = `https://auth.example.com/authorize
?response_type=code
&client_id=${CLIENT_ID}
&redirect_uri=${REDIRECT}
&scope=read:profile
&state=${csrfToken}`;
Cas d'usage
Permettre le 'Login with Google/GitHub' ou accéder aux APIs tierces au nom de l'utilisateur.
Anti-pattern
Utiliser le flow Implicit (déprécié) au lieu d'Authorization Code + PKCE pour les SPA.