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