src/EventListener/ControllerListener.php line 36

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use Symfony\Component\HttpFoundation\Response;
  4. use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
  5. use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
  6. use Symfony\Component\DependencyInjection\ContainerInterface;
  7. class ControllerListener
  8. {
  9.     /**
  10.      * @var TokenStorageInterface
  11.      */
  12.     private $tokenStorage;
  13.     /**
  14.      * @var ContainerInterface
  15.      */
  16.     private $container;
  17.     /**
  18.      * ControllerListener constructor.
  19.      *
  20.      * @param TokenStorageInterface $tokenStorage
  21.      * @param ContainerInterface $container
  22.      */
  23.     public function __construct(TokenStorageInterface $tokenStorageContainerInterface $container)
  24.     {
  25.         $this->tokenStorage $tokenStorage;
  26.         $this->container $container;
  27.     }
  28.     public function onKernelController(FilterControllerEvent $event)
  29.     {
  30.         if (!$event->isMasterRequest()) {
  31.             return;
  32.         }
  33.         $controller $event->getController();
  34.         if (!is_array($controller)) {
  35.             return;
  36.         }
  37.         $session $this->container->get('session');
  38.         $refreshExpiration $session->get('refreshExpiration');
  39.         if ($refreshExpiration time()) {
  40.             return new Response(''401);
  41.         }
  42.     }
  43. }