public function request($method, $uri, User $user = null, array $parameters = [])
 {
     if (!$this->client instanceof Client) {
         throw new \Exception('This method requires a client property of type ' . 'Symfony\\Component\\BrowserKit\\Client');
     }
     $server = $user ? ['PHP_AUTH_USER' => $user->getUsername(), 'PHP_AUTH_PW' => $user->getPlainPassword()] : [];
     return $this->client->request($method, $uri, $parameters, [], $server);
 }
 private function logClient(User $user, Client $client, $firewall = 'main')
 {
     $tokenStorage = $client->getContainer()->get('security.token_storage');
     $token = new UsernamePasswordToken($user, $user->getPlainPassword(), $firewall, $user->getRoles());
     $tokenStorage->setToken($token);
     //now we generate the cookie !
     //@see http://symfony.com/doc/current/cookbook/testing/simulating_authentication.html
     $session = $client->getContainer()->get('session');
     $session->set('_security_' . $firewall, serialize($token));
     $session->save();
     $cookie = new Cookie($session->getName(), $session->getId());
     $client->getCookieJar()->set($cookie);
     return $client;
 }
Beispiel #3
0
 /**
  * @param User $user
  *
  * @return bool
  */
 public function sendCreationMessage(User $user)
 {
     $locale = $user->getLocale();
     $content = $this->contentManager->getTranslatedContent(['type' => 'claro_mail_registration']);
     $displayedLocale = isset($content[$locale]) ? $locale : $this->ch->getParameter('locale_language');
     $body = $content[$displayedLocale]['content'];
     $subject = $content[$displayedLocale]['title'];
     $url = $this->router->generate('claro_security_validate_email', ['hash' => $user->getEmailValidationHash()], true);
     $validationLink = $this->translator->trans('email_validation_url_display', ['%url%' => $url], 'platform');
     $body = str_replace('%first_name%', $user->getFirstName(), $body);
     $body = str_replace('%last_name%', $user->getLastName(), $body);
     $body = str_replace('%username%', $user->getUsername(), $body);
     $body = str_replace('%password%', $user->getPlainPassword(), $body);
     $body = str_replace('%validation_mail%', $validationLink, $body);
     $subject = str_replace('%platform_name%', $this->ch->getParameter('name'), $subject);
     return $this->send($subject, $body, [$user], null, [], true);
 }
Beispiel #4
0
 /**
  * @param User $user
  *
  * @return boolean
  */
 public function sendCreationMessage(User $user)
 {
     $locale = $user->getLocale();
     $content = $this->contentManager->getTranslatedContent(array('type' => 'claro_mail_registration'));
     $displayedLocale = isset($content[$locale]) ? $locale : $this->ch->getParameter('locale_language');
     $body = $content[$displayedLocale]['content'];
     $subject = $content[$displayedLocale]['title'];
     $body = str_replace('%first_name%', $user->getFirstName(), $body);
     $body = str_replace('%last_name%', $user->getLastName(), $body);
     $body = str_replace('%username%', $user->getUsername(), $body);
     $body = str_replace('%password%', $user->getPlainPassword(), $body);
     $subject = str_replace('%platform_name%', $this->ch->getParameter('name'), $subject);
     return $this->send($subject, $body, array($user));
 }