Cette interface ne contient que 7 méthode à implémenter:
- getCredentials: Permettant d’extraire les identifiants de la requête (on peut imaginer un login/password soumis via un formulaire, une clé d’API passée en paramètre GET, etc.)
- getUser: Permet de récupérer un utilisateur en fonction de ses identifiants (pouvant se trouver dans une BDD, un fichier, etc…)
- checkCredentials: Permet de vérifier les identifiants
- createAuthenticationToken: Permet de créer le token d’authentification
- onAuthenticationFailure: Retourne un objet Response dans le cas où l’authentification échoue
- onAuthenticationSuccess: Retourne un objet Response dans le cas où l’authentification réussit
- supportsRememberMe: Permet de spécifier si la stratégie d’authentification supporte la fonctionnalité « Se souvenir de moi »
Ensuite il suffit simplement d’enregistrer cette classe en tant que service afin de pouvoir l’utiliser dans le security.yml et le tour est joué !
Pour plus de détail, vous trouverez ci-dessous un tutoriel expliquant comment implémenter un mécanisme d’authentification avec Symfony Guard: https://symfony.com/doc/current/cookbook/security/guard-authentication.html
Facile !