Symfony Live 2016 : l'authentification avec Guard

Avant de parler du sujet de cet article, je vous conseille la keynote de Fabien POTENCIER sur les dépôts monolithiques (que vous pouvez retrouver ici).

Jeremy Romey (alias jeremyFreeAgent) nous a ensuite parlé du composant Guard.

Rappel sur le fonctionnement de l’authentification sur Symfony (extrait de la présentation) :

Beaucoup d’étapes et surtout beaucoup de classes utilisées ! Ce qui, au final, devient très vite compliqué.

Mais Guard qu’est-ce que ça ajoute alors ?

Et bien en fait rien ! Guard n’ajoute aucune fonctionnalité sur l’authentification. Ce composant n’est là que pour simplifier l’implémentation d’authentification « custom » en ne nécessitant qu’une seule classe ! Attention quand même, vous aurez toujours besoin d'une classe User et d'un UserProvider associé car ces classes n'ont rien à voir avec Guard.

« GuardAuthenticatorInterface »

Cette interface contient toutes les méthodes nécessaires à l’implémentation du système d’authentification. Une fois les méthodes de l’interface implémentées, il n’y a plus qu’à déclarer dans la config l’id du service correspondant à votre classe et le tour est joué ! L’authentification n’aura jamais été aussi simple. 

Petite astuce donnée pendant la conf : vous pouvez créer un service Guard utilisable uniquement en environnement de test permettant de jouer avec les credentials, tout en utilisant complètement votre système d’authentification !

Ou bien encore différents formulaires de connexion pour des sites en marque blanche.

Vous pouvez retrouver l'intégralité des slides du talk avec tous les exemples de codes ici.

Autres liens utiles sur Guard :

Documentation du composant :
http://symfony.com/doc/current/cookbook/security/guard-authentication.html

Bastien D

Ajouter un commentaire