o365-2.0.3/modules/o365_sso/src/EventSubscriber/RouteSubscriber.php
modules/o365_sso/src/EventSubscriber/RouteSubscriber.php
<?php
namespace Drupal\o365_sso\EventSubscriber;
use Drupal\Core\Routing\RouteSubscriberBase;
use Drupal\Core\Routing\RoutingEvents;
use Symfony\Component\Routing\RouteCollection;
/**
* Route subscriber for the custom logout functionality.
*/
final class RouteSubscriber extends RouteSubscriberBase {
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents(): array {
$events = parent::getSubscribedEvents();
$events[RoutingEvents::ALTER] = ['onAlterRoutes', -300];
return $events;
}
/**
* Alter the logout route.
*
* @param \Symfony\Component\Routing\RouteCollection $collection
* The route collection.
*/
protected function alterRoutes(RouteCollection $collection) {
if ($route = $collection->get('user.logout')) {
$route->setDefaults([
'_controller' => '\Drupal\o365_sso\Controller\LogoutController::logout',
]);
}
}
}
