Last active
May 2, 2022 10:18
Revisions
-
jakzal revised this gist
Apr 11, 2014 . 1 changed file with 11 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -36,7 +36,7 @@ public function iAmLoggedIn() { $this->user = $this->createUser(); $token = $this->createOAuthToken($this->user, array('ROLE_USER')); $firewall = 'secured_area'; $session = $this->kernel->getContainer()->get('session'); @@ -62,14 +62,21 @@ private function createUser() } /** * @param User $user * @param array $roles * * @return OAuthToken */ private function createOAuthToken(User $user, array $roles) { $accessToken = array ( 'access_token' => 'ya29.1.AADtN_VkmddcBXq1eg-0fleRxahbSkIYb7CCY1sKLCyTzcqDa_xMMzA--dwL6QQAKh6Bmg', 'token_type' => 'Bearer', 'expires_in' => 3600, 'id_token' => 'eyJhbGciOiJSUzI1NiIsImtpZCI6IjFkYjcxNzc4ZjkyOTBlNmVjOWQ5ZjFkYTQzMDA4NjE4MDllYzk2NGUifQ' ); $token = new OAuthToken($accessToken, $roles); $token->setResourceOwnerName('google'); $token->setUser($user); -
jakzal created this gist
Jan 4, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,86 @@ <?php namespace Acme\Context; use Acme\MyApp\User; use Behat\MinkExtension\Context\RawMinkContext; use Behat\Symfony2Extension\Context\KernelAwareInterface; use Doctrine\ORM\EntityManager; use HWI\Bundle\OAuthBundle\Security\Core\Authentication\Token\OAuthToken; use Symfony\Component\HttpKernel\KernelInterface; class LeaveRequestContext extends RawMinkContext implements KernelAwareInterface { /** * @var KernelInterface */ private $kernel; /** * @var User */ private $user; /** * @param KernelInterface $kernel */ public function setKernel(KernelInterface $kernel) { $this->kernel = $kernel; } /** * @Given /^I am logged in$/ */ public function iAmLoggedIn() { $this->user = $this->createUser(); $token = $this->getOAuthToken($this->user, array('ROLE_USER')); $firewall = 'secured_area'; $session = $this->kernel->getContainer()->get('session'); $session->set('_security_'.$firewall, serialize($token)); $session->save(); $this->getSession()->setCookie($session->getName(), $session->getId()); } /** * @return User */ private function createUser() { $user = new User(); $user->setName('Kuba'); $em = $this->getEntityManager(); $em->persist($user); $em->flush(); return $user; } /** * @param mixed $user * @param array $roles * * @return OAuthToken */ private function getOAuthToken($user, array $roles) { $token = new OAuthToken('a-random-access-token', $roles); $token->setResourceOwnerName('google'); $token->setUser($user); return $token; } /** * @return EntityManager */ private function getEntityManager() { return $this->kernel->getContainer()->get('doctrine')->getManager(); } }