fix: creates new users on demand from idp

This commit is contained in:
2025-07-11 15:40:19 -05:00
parent b74b563c56
commit 2fae99e24b
4 changed files with 6 additions and 64 deletions

View File

@@ -8,6 +8,7 @@ use Drenso\OidcBundle\Exception\OidcException;
use Drenso\OidcBundle\Model\OidcTokens;
use Drenso\OidcBundle\Model\OidcUserData;
use Drenso\OidcBundle\Security\UserProvider\OidcUserProviderInterface;
use Symfony\Component\PasswordHasher\PasswordHasherInterface;
use Symfony\Component\Security\Core\Exception\UnsupportedUserException;
use Symfony\Component\Security\Core\Exception\UserNotFoundException;
use Symfony\Component\Security\Core\User\OidcUser;
@@ -25,8 +26,9 @@ class OidcUserProvider implements OidcUserProviderInterface
if (null === $user) {
$user = new User()
->setEmail($userData->getEmail())
->setName($userData->getFullName())
->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();