コード例 #1
0
ファイル: FacebookProvider.php プロジェクト: kishan530/trips
 /**
  * 
  * @param unknown $username
  * @throws UsernameNotFoundException
  * @return unknown
  */
 public function loadUserByUsername($username)
 {
     $user = $this->findUserByFbId($username);
     try {
         $fbdata = $this->facebook->api('/me');
     } catch (FacebookApiException $e) {
         $fbdata = null;
     }
     if (empty($user) and !empty($fbdata)) {
         $user = $this->userManager->findUserBy(array('email' => $fbdata['email']));
     }
     if (!empty($fbdata)) {
         if (empty($user)) {
             $user = $this->userManager->createUser();
             $user->setEnabled(true);
             $user->setPassword('');
         }
         // TODO use http://developers.facebook.com/docs/api/realtime
         $user->setFBData($fbdata);
         if (count($this->validator->validate($user, 'Facebook'))) {
             // TODO: the user was found obviously, but doesnt match our expectations, do something smart
             throw new UsernameNotFoundException('The facebook user could not be stored');
         }
         $this->userManager->updateUser($user);
     }
     if (empty($user)) {
         throw new UsernameNotFoundException('The user is not authenticated on facebook');
     }
     return $user;
 }
コード例 #2
0
 /**
  * @Route("/users/new", name="user_new")
  * @Template("BigfishUserBundle:Default:form.html.twig")
  */
 public function createAction(Request $request)
 {
     $user = $this->_security->getToken()->getUser();
     $entity = $this->_userManager->createUser();
     $form = $this->_formFactory->create(new UserType(), $entity);
     //        $this->_formFactory->create(, $data, $options);
     return array('form' => $form->createView());
 }
コード例 #3
0
ファイル: PersistableTest.php プロジェクト: apflieger/zigotoo
 /**
  * @return UserInterface|IdentityPersistableInterface
  */
 private function createUser()
 {
     /** @var UserInterface $user */
     $user = $this->userManager->createUser();
     $username = $this->getName() . rand();
     $user->setUsername($username);
     $user->setEmail($username . '@zigotoo.com');
     $user->setPlainPassword('test');
     $user->setEnabled(true);
     return $user;
 }
コード例 #4
0
 /**
  * @param array $googleAuthUser
  * @return \FOS\UserBundle\Model\UserInterface
  */
 public function build(array $googleAuthUser)
 {
     $user = $this->userManager->createUser();
     foreach ($googleAuthUser as $key => $value) {
         $methodName = "set" . Container::camelize($key);
         if (method_exists($user, $methodName)) {
             $user->{$methodName}($value);
         }
     }
     $user->setEmail($googleAuthUser['email']);
     $user->setUsername($googleAuthUser['email']);
     $user->setEnabled(1);
     $user->setPassword(time());
     return $user;
 }
コード例 #5
0
 public function createUser()
 {
     $user = parent::createUser();
     $expityTime = $this->container->getParameter("registration.cpf.empty_time");
     $cpfExpiryDate = new \DateTime($expityTime);
     $user->setCpfExpiration($cpfExpiryDate);
     return $user;
 }
コード例 #6
0
ファイル: OAuthUserProvider.php プロジェクト: blevoir/teamlol
 /**
  * Ad-hoc creation of user
  *
  * @param UserResponseInterface $response
  *
  * @return User
  */
 protected function createUserByOAuthUserResponse(UserResponseInterface $response)
 {
     $user = $this->manager->createUser();
     // set default values taken from OAuth sign-in provider account
     if (null !== ($email = $response->getEmail())) {
         $user->setEmail($email);
         $user->setUsername($email);
         $user->setPlainPassword(md5(uniqid()));
     }
     $user->setEnabled(true);
     // Conservation de l'id
     $providerName = $response->getResourceOwner()->getName();
     $providerNameSetter = 'set' . ucfirst($providerName) . 'Id';
     $user->{$providerNameSetter}($response->getResponse()['id']);
     $this->manager->updateUser($user);
     return $user;
 }
コード例 #7
0
ファイル: UserManager.php プロジェクト: symedit/symedit
 /**
  * @return UserInterface
  */
 public function createUser($admin = false)
 {
     $user = parent::createUser();
     $user->setProfile($this->createProfile($admin));
     $user->setAdmin($admin);
     $role = $admin ? 'ROLE_ADMIN' : 'ROLE_USER';
     $user->addRole($role);
     return $user;
 }
コード例 #8
0
 /**
  * Retourne un utilisateur de la base en fonction de l'utilisateur facebook
  * Si il n'existe pas, on en créée un
  * @param  GraphUser $user [description]
  * @return [type]          [description]
  */
 public function getUserFromFacebook(GraphUser $user)
 {
     $email = $user->getEmail();
     if (is_null($email)) {
         throw new \Exception('Facebook user does not share email', 400);
     }
     // Get user from email
     $fos_user = $this->user_manager->findUserByEmail($email);
     // Create user if necessary
     if (is_null($fos_user)) {
         $fos_user = $this->user_manager->createUser();
     }
     $fos_user->setEnabled(true);
     $fos_user->setEmail($email);
     $fos_user->setFirstName($user->getFirstName());
     $fos_user->setLastName($user->getLastName());
     $fos_user->setRoles([$this->user_role]);
     $fos_user->setFacebookId($user->getId());
     $fos_user->setLocale(substr($user->getProperty('locale'), 0, 2));
     $fos_user->setTimezone($user->getTimezone());
     $this->user_manager->updateCanonicalFields($fos_user);
     $this->user_manager->updateUser($fos_user);
     return $fos_user;
 }
コード例 #9
0
ファイル: LoadCommand.php プロジェクト: nuffer/FundraisingDB
 private function createUser($username, $email, $admin = false)
 {
     $user = $this->userManager->createUser();
     $user->setUsername($username);
     $user->setPlainPassword($username);
     $user->setEmail($email);
     $user->addRole('ROLE_USER');
     if ($admin) {
         $user->setSuperAdmin(true);
         $user->setEnabled(true);
         $user->setLocked(false);
     }
     $this->userManager->updateUser($user);
     return $user;
 }
コード例 #10
0
 public function loadUserByUsername($username)
 {
     $user = $this->findUserByTwitterUsername($username);
     $this->twitterOauth->setOAuthToken($this->session->get('access_token'), $this->session->get('access_token_secret'));
     try {
         $info = $this->twitterOauth->get('account/verify_credentials');
     } catch (\Exception $e) {
         $info = null;
     }
     if (!empty($info)) {
         if (isset($info->errors) && is_array($info->errors) && count($info->errors)) {
             throw new AuthenticationException($info->errors[0]->message, $info->errors[0]->code);
         }
         if (empty($user)) {
             $user = $this->userManager->createUser();
             $user->setEnabled(true);
             $user->setLocked(false);
         }
         $username = $info->screen_name;
         $user->setTwitterID($info->id);
         $user->setTwitterUsername($username);
         $email = $user->getEmail();
         if (is_null($email) || strlen(trim($email)) === 0) {
             $user->setEmail($username . '@twitter.com');
         }
         if (null === $user->getUsername()) {
             $user->setUsername($username);
         }
         $user->setFullName($info->name);
         $this->userManager->updateUser($user);
     }
     if (empty($user)) {
         throw new UsernameNotFoundException('The user is not authenticated on twitter');
     }
     return $user;
 }
コード例 #11
0
 public function createUser(array $data, UserManager $userManager)
 {
     $user = $userManager->createUser();
     $user->setUsername($data['username'])->setEmail($data['email'])->setEnabled($data['enabled'])->setLocked($data['locked'])->setRoles($data['roles'])->setPlainPassword($data['password']);
     return $user;
 }
コード例 #12
0
 /**
  * {@inheritdoc}
  */
 public function create()
 {
     return parent::createUser();
 }