Member-only story
Symfony. User Checker para validar si un usuario puede autenticarse
Cómo usar servicios del tipo UserChecker para añadir una capa extra de validación a los usuarios que quieren autenticarse
Muchas veces necesitamos realizar alguna serie de validaciones extra cuando queremos comprobar si un determinado usuario puede autenticarse en nuestra aplicación.
Para realizar estas comprobaciones Symfony nos provee por medio de su componente Security de la posibilidad de definir lo que se conocen como UserCheckers, de modo que podamos evitar que un usuario se autentique en la aplicación aún habiendo introducido sus credenciales.
¿Cuándo puede ser útil esto? Por ejemplo si queremos comprobar que un usuario ha validado su cuenta, tiene una suscripción activa en nuestro servicio o no ha sido baneado por un administrador.
¡Vamos a ver cómo funcionan!
Declarando un UserChecker
Declarar un UserChecker en Symfony es muy sencillo. Bastará con crear una clase que implemente la interfaz UserCheckerInterface
, la cual nos “obligará” a implementar 2 métodos:
checkPreAuth
, donde podremos realizar comprobaciones antes de que el usuario sea autenticado.