OAuth2 est un protocole d'autorisation standard qui permet à une application d'accéder aux ressources d'un utilisateur sur un autre service, sans que celui-ci ait à partager ses identifiants. C'est le mécanisme derrière les boutons « Se connecter avec Google / GitHub / Microsoft » et l'accès sécurisé aux API tierces.
Flux de sécurité
OAuth2 définit plusieurs flux (ou « grants ») adaptés à différents contextes : Authorization Code (web classique), PKCE (front-end et mobiles), Client Credentials (machine-to-machine). Chaque flux offre un niveau de sécurité adapté à son cas d'usage.
Implémentation moderne
L'authentification combine généralement OAuth2 avec des JWT (JSON Web Tokens) pour les API stateless. Symfony fournit un système de sécurité complet (firewall, authenticators) qui s'intègre nativement avec ces standards pour simplifier la mise en œuvre d'une authentification robuste.
OAuth2 est le standard incontournable pour sécuriser les échanges entre applications et services tiers sans compromettre les identifiants utilisateurs.