function it_listens_cookie_event(CookieEvent $cookieEvent, Response $response, ResponseHeaderBag $responseHeaderBag, SessionInterface $session)
 {
     $cookieEvent->getSession()->shouldBeCalled()->willReturn($session);
     $session->has('access_token')->shouldBeCalled()->willReturn(true);
     $session->has('refresh_token')->shouldBeCalled()->willReturn(true);
     $cookieEvent->getResponse()->shouldBeCalled()->willReturn($response);
     $session->get('access_token')->shouldBeCalled()->willReturn('accesstoken');
     $session->get('refresh_token')->shouldBeCalled()->willReturn('refreshtoken');
     $responseHeaderBag->setCookie(Argument::type('Symfony\\Component\\HttpFoundation\\Cookie'))->shouldBeCalled();
     $responseHeaderBag->setCookie(Argument::type('Symfony\\Component\\HttpFoundation\\Cookie'))->shouldBeCalled();
     $response->headers = $responseHeaderBag;
     $this->onCookieEvent($cookieEvent);
 }
示例#2
0
 /**
  * Checks if the session has the tokens to create cookies that will be add into response.
  *
  * @param \Kreta\Bundle\UserBundle\Event\CookieEvent $event The cookie event
  */
 public function onCookieEvent(CookieEvent $event)
 {
     $session = $event->getSession();
     if (!$session->has('access_token') || !$session->has('refresh_token')) {
         throw new SessionUnavailableException();
     }
     $event->getResponse()->headers->setCookie($this->cookie('access_token', $session->get('access_token')));
     $event->getResponse()->headers->setCookie($this->cookie('refresh_token', $session->get('refresh_token')));
 }