diff --git a/openid_connect.routing.yml b/openid_connect.routing.yml index f74ebfe30a19b82b7b976315944b3d8d9ba167b8..adf3564797367d591ddc87acfe8f02a94eded2f5 100644 --- a/openid_connect.routing.yml +++ b/openid_connect.routing.yml @@ -74,16 +74,16 @@ openid_connect.accounts_controller_index: requirements: _custom_access: '\Drupal\openid_connect\Form\OpenIDConnectAccountsForm::access' -openid_connect.logout: - path: '/user/logout' - defaults: - _controller: '\Drupal\openid_connect\Controller\OpenIDConnectRedirectController::redirectLogout' - _title: 'End session' - requirements: - _user_is_logged_in: 'TRUE' - _csrf_token: 'TRUE' - options: - no_cache: TRUE +#openid_connect.logout: +# path: '/user/logout' +# defaults: +# _controller: '\Drupal\openid_connect\Controller\OpenIDConnectRedirectController::redirectLogout' +# _title: 'End session' +# requirements: +# _user_is_logged_in: 'TRUE' +# _csrf_token: 'TRUE' +# options: +# no_cache: TRUE openid_connect.login: path: '/user/login/openid_connect' diff --git a/openid_connect.services.yml b/openid_connect.services.yml index 52ca9b14bb5978d1921c86048d65e754bdf2ea6b..bd3b7c7e82ff160af9b53771b5d87cb95a9b6277 100644 --- a/openid_connect.services.yml +++ b/openid_connect.services.yml @@ -43,3 +43,7 @@ services: openid_connect.autodiscover: class: Drupal\openid_connect\OpenIDConnectAutoDiscover Drupal\openid_connect\OpenIDConnectAutoDiscover: '@openid_connect.autodiscover' + openid_connect.route_subscriber: + class: Drupal\openid_connect\Routing\RouteSubscriber + tags: + - { name: event_subscriber } diff --git a/src/Routing/RouteSubscriber.php b/src/Routing/RouteSubscriber.php index e95199d68d15dd152c309dcc6dcdda39bfc5c860..f75819369d262d0833b5b17d0f6349c34ef7e4ac 100644 --- a/src/Routing/RouteSubscriber.php +++ b/src/Routing/RouteSubscriber.php @@ -19,6 +19,9 @@ class RouteSubscriber extends RouteSubscriberBase { // Reroute the default user.logout route. if ($route = $collection->get('user.logout')) { $route->setDefault('_controller', '\Drupal\openid_connect\Controller\OpenIDConnectRedirectController::redirectLogout'); + $route->setRequirement('_user_is_logged_in', TRUE); + $route->setRequirement('_csrf_token', TRUE); + $route->setOption('no_cache', TRUE); } }