L’article explique comment Symfony a simplifié la gestion de la sécurité avec son système moderne introduit dans Symfony 5.3 et amélioré depuis, remplaçant les anciennes abstractions complexes comme Guard. Le cœur de cette évolution repose sur deux composants clés : les Authenticators et les Passports, qui structurent l’authentification en phases distinctes (interception de la requête, création du Passport, validation via des Badges, et résolution du résultat).
L’auteur détaille le pipeline de sécurité moderne de Symfony, une séquence chronologique et modulaire qui permet de gérer divers flux d’authentification (formulaires, API keys, JWT, OAuth2) sans code redondant. Ce système, inspiré des Lego, offre une flexibilité accrue en découplant les vérifications de sécurité des processus de chargement des utilisateurs.
Enfin, l’article propose un guide pratique pour implémenter un Authenticator personnalisé pour une authentification par clé API, illustrant ainsi l’approche modulaire et les bonnes pratiques de validation et de test dans ce nouveau paradigme.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
L'auteur donne un exemple d'un système d'authentification sous Symfony qui "n'oblige pas" à stocker toute l'entité "User" en session -> l'entité et son repository ne sont plus fortement couplés au système de sécurité qui n'a plus que les données requises pour l'identification. Intéressant...
Tout est dans le titre