/** * @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); }