Finds one user by the given criteria
public findUserBy ( array $criteria ) : |
||
$criteria | array | |
return |
/** * {@inheritDoc} */ public function refreshUser(SecurityUserInterface $user) { if (!$user instanceof User && !$user instanceof PropelUser) { throw new UnsupportedUserException(sprintf('Expected an instance of FOS\\UserBundle\\Model\\User, but got "%s".', get_class($user))); } if (null === ($reloadedUser = $this->userManager->findUserBy(array('id' => $user->getId())))) { throw new UsernameNotFoundException(sprintf('User with ID "%d" could not be reloaded.', $user->getId())); } return $reloadedUser; }
/** * {@inheritdoc} */ public function loadUserByOAuthUserResponse(UserResponseInterface $response) { $user = $this->userManager->findUserBy(['githubId' => $response->getUsername()]); if ($user instanceof User) { return $user; } // Try to create user $user = $this->createUserFromResponse($response); return $user; }
/** * {@inheritDoc} */ public function loadUserByOAuthUserResponse(UserResponseInterface $response) { $username = $response->getUsername(); $user = $this->userManager->findUserBy(array('githubId' => $username)); if (!$user) { throw new AccountNotLinkedException(sprintf('No user with github username "%s" was found.', $username)); } if (!$user->getGithubToken()) { $user->setGithubToken($response->getAccessToken()); $this->userManager->updateUser($user); } return $user; }
/** * {@inheritdoc} */ public function loadUserByOAuthUserResponse(UserResponseInterface $response) { $user = $this->userManager->findUserBy(['facebookId' => $response->getUsername()]); if ($user instanceof User) { $actionLog = (new UserActionLog())->setActionType(UserActionType::LOGIN)->setUser($user)->setCreatedAt(new \DateTime('now')); $em = $this->entityManager; $em->persist($actionLog); $em->flush(); return $user; } // Try to create user $user = $this->createUserFromResponse($response); return $user; }
/** * {@inheritDoc} */ public function connect($user, UserResponseInterface $response) { $property = $this->getProperty($response); $setter = 'set' . ucfirst($property); if (!method_exists($user, $setter)) { throw new \RuntimeException(sprintf("Class '%s' should have a method '%s'.", get_class($user), $setter)); } $username = $response->getUsername(); if (null !== ($previousUser = $this->userManager->findUserBy(array($property => $username)))) { $previousUser->{$setter}(null); $this->userManager->updateUser($previousUser); } $user->{$setter}($username); $this->userManager->updateUser($user); }
/** * On user login * * @param InteractiveLoginEvent $event Event */ public function onSecurityInteractiveLogin(InteractiveLoginEvent $event) { /** * @var User $user */ $user = $event->getAuthenticationToken()->getUser(); $referralService = $this->container->get('stfalcon_event.referral.service'); if ($this->request->cookies->has(ReferralService::REFERRAL_CODE)) { $referralCode = $this->request->cookies->get(ReferralService::REFERRAL_CODE); //check self referral code if ($referralService->getReferralCode($user) !== $referralCode) { $userReferral = $this->userManager->findUserBy(['referralCode' => $referralCode]); if ($userReferral) { $user->setUserReferral($userReferral); } $this->userManager->updateUser($user); } } }
/** * {@inheritDoc} */ public function loadUserByOAuthUserResponse(UserResponseInterface $response) { $userInfo = $this->getUserInfo($response); $service = $response->getResourceOwner()->getName(); $user = $this->userManager->findUserBy(array("{$service}Id" => $userInfo['id'])); if ($user instanceof PersonInterface) { $user = parent::loadUserByOAuthUserResponse($response); $serviceName = $response->getResourceOwner()->getName(); $setter = 'set' . ucfirst($serviceName) . 'AccessToken'; $user->{$setter}($response->getAccessToken()); return $user; } $userInfo = $this->checkEmail($service, $userInfo); $user = $this->userManager->createUser(); $this->setUserInfo($user, $userInfo, $service); if ($userInfo['first_name']) { $user->setFirstName($userInfo['first_name']); } if ($userInfo['family_name']) { $user->setSurname($userInfo['family_name']); } if ($service === 'facebook') { $this->setFacebookData($user, $response->getResponse()); } $username = Uuid::uuid4()->toString(); if (!UsernameValidator::isUsernameValid($username)) { $username = UsernameValidator::getValidUsername(); } $availableUsername = $this->userManager->getNextAvailableUsername($username, 10, Uuid::uuid4()->toString()); $user->setUsername($availableUsername); $user->setEmail($userInfo['email']); $user->setPassword(''); $user->setEnabled(true); $this->userManager->updateCanonicalFields($user); /** @var ValidatorInterface $validator */ $validator = $this->container->get('validator'); /** @var ConstraintViolationList $errors */ $errors = $validator->validate($user, ['LoginCidadaoProfile']); if (count($errors) > 0) { foreach ($errors as $error) { if ($error->getPropertyPath() === 'email' && method_exists($error, 'getConstraint') && $error->getConstraint() instanceof UniqueEntity) { throw new DuplicateEmailException($service); } } } $form = $this->formFactory->createForm(); $form->setData($user); $request = $this->container->get('request'); $eventResponse = new RedirectResponse('/'); $event = new FormEvent($form, $request); $this->dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event); $this->userManager->updateUser($user); $this->dispatcher->dispatch(FOSUserEvents::REGISTRATION_COMPLETED, new FilterUserResponseEvent($user, $request, $eventResponse)); return $user; }
/** * {@inheritDoc} */ public function refreshUser(UserInterface $user) { // Compatibility with FOSUserBundle < 2.0 if (class_exists('FOS\\UserBundle\\Form\\Handler\\RegistrationFormHandler')) { return $this->userManager->refreshUser($user); } if (!$user instanceof User) { throw new UnsupportedUserException(sprintf('Expected an instance of FOS\\UserBundle\\Model\\User, but got "%s".', get_class($user))); } if (null === ($reloadedUser = $this->userManager->findUserBy(array('id' => $user->getId())))) { throw new UsernameNotFoundException(sprintf('User with ID "%d" could not be reloaded.', $user->getId())); } return $user; }
/** * {@inheritDoc} */ public function refreshUser(UserInterface $user) { // Compatibility with FOSUserBundle < 2.0 if (class_exists('FOS\\UserBundle\\Form\\Handler\\RegistrationFormHandler')) { return $this->userManager->refreshUser($user); } $identifier = $this->properties['identifier']; if (!$user instanceof User || !$this->accessor->isReadable($user, $identifier)) { throw new UnsupportedUserException(sprintf('Expected an instance of FOS\\UserBundle\\Model\\User, but got "%s".', get_class($user))); } $userId = $this->accessor->getValue($user, $identifier); if (null === ($user = $this->userManager->findUserBy(array($identifier => $userId)))) { throw new UsernameNotFoundException(sprintf('User with ID "%d" could not be reloaded.', $userId)); } return $user; }
public function findUserByFacebookId($fbId) { return $this->FOSUserManager->findUserBy(['facebookId' => $fbId]); }
/** * @inheritdoc */ public function find($id) { return $this->FOSUserManager->findUserBy(['id' => $id]); }
/** * Finds a user by username. * * This method is meant to be an extension point for child classes. * * @param string $username * * @return UserInterface|null */ protected function findUser($username) { return $this->userManager->findUserBy(array('apiKey' => $username)); }