. */ namespace vierbergenlars\AuthserverExternalAccountBundle\Security\Core\User; use Symfony\Component\Security\Core\User\UserProviderInterface; use Symfony\Component\Security\Core\User\UserInterface; use Symfony\Component\Security\Core\Exception\UsernameNotFoundException; use vierbergenlars\AuthserverExternalAccountBundle\Entity\TemporaryUser; use Symfony\Component\Security\Core\Exception\UnsupportedUserException; class TemporaryUserProvider implements UserProviderInterface { public function supportsClass($class) { return is_subclass_of($class, TemporaryUser::class); } public function refreshUser(UserInterface $user) { if (!$this->supportsClass(get_class($user))) throw new UnsupportedUserException(sprintf('Expected instance of %s, got instance of %s', TemporaryUser::class, get_class($user))); return $user; } public function loadUserByUsername($username) { throw new UsernameNotFoundException(); } }