예제 #1
0
 /**
  * @param ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $user = new User();
     $user->setFirstName('Admin');
     $user->setLastName('User');
     $user->setUsername('admin');
     $user->setEmail('*****@*****.**');
     $encoder = $this->container->get('security.encoder_factory')->getEncoder($user);
     $user->setPassword($encoder->encodePassword('mautic', $user->getSalt()));
     $user->setRole($this->getReference('admin-role'));
     $manager->persist($user);
     $manager->flush();
     $this->addReference('admin-user', $user);
     $user = new User();
     $user->setFirstName('Sales');
     $user->setLastName('User');
     $user->setUsername('sales');
     $user->setEmail('*****@*****.**');
     $encoder = $this->container->get('security.encoder_factory')->getEncoder($user);
     $user->setPassword($encoder->encodePassword('mautic', $user->getSalt()));
     $user->setRole($this->getReference('sales-role'));
     $manager->persist($user);
     $manager->flush();
     $this->addReference('sales-user', $user);
 }
 /**
  * @param mixed $response
  *
  * @return mixed
  */
 public function getUser($response)
 {
     $url = 'https://www.googleapis.com/oauth2/v1/userinfo?alt=json';
     if ($userDetails = $this->makeRequest($url, array(), 'GET', array('override_auth_token' => $response['access_token'], 'append_auth_token' => true))) {
         if (isset($userDetails['email'])) {
             $user = new User();
             $user->setUsername($userDetails['email'])->setEmail($userDetails['email'])->setFirstName($userDetails['given_name'])->setLastName($userDetails['family_name'])->setRole($this->getUserRole());
             return $user;
         }
     }
     return false;
 }
 /**
  * Authenticate via the form using users defined in authorized_users
  *
  * @param AuthenticationEvent $event
  *
  * @return bool|void
  */
 public function onUserFormAuthentication(AuthenticationEvent $event)
 {
     $username = $event->getUsername();
     $password = $event->getToken()->getCredentials();
     $user = new User();
     $user->setUsername($username);
     $authorizedUsers = $this->parametersHelper->getParameter('authorized_users');
     if (is_array($authorizedUsers) && isset($authorizedUsers[$username])) {
         $testUser = $authorizedUsers[$username];
         $user->setPassword($testUser['password']);
         if ($this->encoder->isPasswordValid($user, $password)) {
             $user->setFirstName($testUser['firstname'])->setLastName($testUser['lastname'])->setEmail($testUser['email'])->setRole($this->em->getReference('MauticUserBundle:Role', 1));
             $event->setIsAuthenticated('authorized_users', $user, true);
         }
     }
 }
 /**
  * @param mixed $response
  *
  * @return mixed
  */
 public function getUser($response)
 {
     if ($userDetails = $this->makeRequest('https://api.github.com/user', array(), 'GET', array('override_auth_token' => $response['access_token'], 'append_auth_token' => true))) {
         if (isset($userDetails['login'])) {
             $names = explode(' ', $userDetails['name']);
             if (count($names) > 1) {
                 $firstname = $names[0];
                 unset($names[0]);
                 $lastname = implode(' ', $names);
             } else {
                 $firstname = $lastname = $names[0];
             }
             // Get email
             $emails = $this->makeRequest('https://api.github.com/user/emails', array(), 'GET', array('override_auth_token' => $response['access_token'], 'append_auth_token' => true));
             if (is_array($emails) && count($emails)) {
                 foreach ($emails as $ghEmail) {
                     if ($ghEmail['primary']) {
                         $email = $ghEmail['email'];
                         break;
                     }
                 }
             }
             if (empty($email)) {
                 // Email could not be found so bail
                 return false;
             }
             $user = new User();
             $user->setUsername($userDetails['login'])->setEmail($email)->setFirstName($firstname)->setLastName($lastname)->setRole($this->getUserRole());
             return $user;
         }
     }
     return false;
 }
 /**
  * {@inheritDoc}
  */
 public function setUsername($username)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUsername', array($username));
     return parent::setUsername($username);
 }