userRepository->findOneBy(['email' => $userIdentifier]); if (null === $user) { $user = new User() ->setEmail(!empty($userData->getEmail()) ? $userData->getEmail() : $userData->getSub()) ->setName(!empty($userData->getFullName()) ? $userData->getFullName() : $userData->getGivenName()) ->setPassword('n/a') ; $this->userRepository->getEntityManager()->persist($user); $this->userRepository->getEntityManager()->flush(); } } public function loadOidcUser(string $userIdentifier): UserInterface { return $this->userRepository->findOneBy(['email' => $userIdentifier]); } public function refreshUser(UserInterface $user): UserInterface { return $this->userRepository->findOneBy(['email' => $user->getUserIdentifier()]); } public function supportsClass(string $class): bool { return User::class === $class || OidcUser::class === $class; } public function loadUserByIdentifier(string $identifier): UserInterface { return $this->userRepository->findOneBy(['email' => $identifier]); } }