src/EventSubscriber/LogoutSubscriber.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Symfony\Component\HttpFoundation\RedirectResponse;
  5. use Symfony\Component\Security\Http\Event\LogoutEvent;
  6. class LogoutSubscriber implements EventSubscriberInterface
  7. {
  8.     public function __construct()
  9.     {
  10.     }
  11.     public static function getSubscribedEvents(): array
  12.     {
  13.         return [LogoutEvent::class => 'onLogout'];
  14.     }
  15.     public function onLogout(LogoutEvent $event): void
  16.     {
  17.         $session $event->getRequest()->getSession();
  18.         if ($session->has('ssoLogoutUrl')) {
  19.             $response = new RedirectResponse($session->get('ssoLogoutUrl'));
  20.             $event->setResponse($response);
  21.         }
  22.         $session->clear();
  23.     }
  24. }