diff --git a/composer.json b/composer.json index 1c08895c99d94f0ed8394c1ae585a98a2e0eaf82..24ffdbf9fa7024242eab35ae8e5d99d0a7323c2a 100644 --- a/composer.json +++ b/composer.json @@ -5,6 +5,6 @@ "license": "GPL-2.0-or-later", "minimum-stability": "dev", "require": { - "drupal/ldap": "^4.0" + "drupal/ldap": "^4.4" } } diff --git a/ldap_sso.info.yml b/ldap_sso.info.yml index 1a89ddf13ff7272a23e8510c402443f0edba4150..d599ca6d65d0d1d25d395c8d94809bbf1a0d7fc7 100644 --- a/ldap_sso.info.yml +++ b/ldap_sso.info.yml @@ -3,7 +3,7 @@ description: 'Implements single sign-on (SSO) LDAP authentication' package: 'Lightweight Directory Access Protocol' type: module -core_version_requirement: ^8.7.7 || ^9 +core_version_requirement: ^9.2 || ^10 dependencies: - ldap:ldap_servers diff --git a/src/Form/LdapSsoAdminForm.php b/src/Form/LdapSsoAdminForm.php index 6d55d74b0cbd038fdb32dcb364bf811ef7367d55..3476a32ad8ba83ee2f4524145c4b504d2bf3e616 100644 --- a/src/Form/LdapSsoAdminForm.php +++ b/src/Form/LdapSsoAdminForm.php @@ -170,6 +170,7 @@ class LdapSsoAdminForm extends ConfigFormBase { $query_result = $this->storage ->getQuery() ->condition('status', 1) + ->accessCheck(TRUE) ->execute(); $enabled_servers = $this->storage->loadMultiple($query_result); /** @var \Drupal\ldap_servers\Entity\Server $server */ diff --git a/src/LdapSsoBootSubscriber.php b/src/LdapSsoBootSubscriber.php index bb8a87ed9e5bca012b1dfddd03d28d1c187ff828..d10200543dbc2b1a8567cf9c3c26f9d6ed622d91 100644 --- a/src/LdapSsoBootSubscriber.php +++ b/src/LdapSsoBootSubscriber.php @@ -12,7 +12,7 @@ use Drupal\Core\Session\AccountInterface; use Drupal\ldap_servers\Logger\LdapDetailLog; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\Event\GetResponseEvent; +use Symfony\Component\HttpKernel\Event\RequestEvent; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpFoundation\Cookie; @@ -119,10 +119,10 @@ class LdapSsoBootSubscriber implements EventSubscriberInterface { /** * Determine if we should attempt SSO. * - * @param \Symfony\Component\HttpKernel\Event\GetResponseEvent $event + * @param \Symfony\Component\HttpKernel\Event\RequestEvent $event * Event to act upon. */ - public function checkSsoLoad(GetResponseEvent $event): void { + public function checkSsoLoad(RequestEvent $event): void { if ((PHP_SAPI === 'cli') || $this->account->isAuthenticated()) { $this->detailLog->log('CLI or logged in user, no SSO.', [], 'ldap_sso'); return; diff --git a/tests/modules/ldap_sso_dummy_ldap/ldap_sso_dummy_ldap.info.yml b/tests/modules/ldap_sso_dummy_ldap/ldap_sso_dummy_ldap.info.yml index 4f9596c143f330af402af2c434486b1f1c749b5f..6faafd2527570036823e461f528b1ff79fc7d93e 100644 --- a/tests/modules/ldap_sso_dummy_ldap/ldap_sso_dummy_ldap.info.yml +++ b/tests/modules/ldap_sso_dummy_ldap/ldap_sso_dummy_ldap.info.yml @@ -1,9 +1,8 @@ name: 'LDAP SSO Dummy LDAP' description: 'Helper module for tests' -package: 'Lightweight Directory Access Protocol' - +package: 'Testing' type: module -core_version_requirement: ^8.7.7 || ^9 +hidden: true dependencies: - ldap_sso:ldap_sso diff --git a/tests/src/Functional/LdapSsoBrowserTest.php b/tests/src/Functional/LdapSsoBrowserTest.php index 84086df9371bd988746d18387969aa43ff950563..0cc051a71f8ae582f7d2f3de391994413d45ba23 100644 --- a/tests/src/Functional/LdapSsoBrowserTest.php +++ b/tests/src/Functional/LdapSsoBrowserTest.php @@ -40,6 +40,11 @@ class LdapSsoBrowserTest extends BrowserTestBase { 'ldap_sso_dummy_ldap', ]; + /** + * @var \Drupal\node\NodeInterface + */ + protected $nodeWithAlias; + /** * {@inheritdoc} */ @@ -188,7 +193,11 @@ class LdapSsoBrowserTest extends BrowserTestBase { Url::fromRoute( 'entity.node.canonical', ['node' => 1], - ['absolute' => TRUE, 'language' => $language_manager->getLanguage('fr')] + [ + 'absolute' => TRUE, + 'language' => $language_manager->getLanguage('fr'), + 'query' => ['check_logged_in' => 1], + ] ) ); self::assertStringContainsString('/fr/node/1', $url);