Bonjour,
Lors de l'authentification utilisateur je souhaite enrichir/modifier certaines données utilisateurs. Dans mon AbstractAuthenticator je surcharge la méthode createToken() afin d'y ajouter mon code supplémentaire :

    public function createToken(Passport $passport, string $firewallName): TokenInterface
    {

        $passport->getUser()->setRealname('Robert');
        $passport->getUser()->setPhone('111111111');

        return new UsernamePasswordToken($passport->getUser(), $firewallName, $passport->getUser()->getRoles());

    }

Résultat ça ne fonctionne pas, les données de la session utilisateur sont toujours celle de l'entité et lu en BDD.

Un sauveur existe-t-il dans cette communautée..

Merci

1 réponse


ne0vince
Auteur
Réponse acceptée

C'est réglé. A ajouter dans l'entity User directement :

public function isEqualTo(UserInterface $user): bool
{
    if ($this->id !== $user->getId()) {
        return false; // Force la reconnexion
    }

    if ($this->password !== $user->getPassword()) {
        return false; // Force la reconnexion
    }

    // Important : Pas de vérification pour les rôles

    return true;
}