From 536ced8d0257d925608c6342e5f35037bafb3af5 Mon Sep 17 00:00:00 2001
From: Shivam Tiwari <54218-shivam_tiwari@users.noreply.drupalcode.org>
Date: Sun, 17 Dec 2023 17:21:38 +0000
Subject: [PATCH] Issue #3288271 by reenaraghavan, bluegeek9: Automated Drupal
 10 compatibility fixes

---
 composer.json                                         |  2 +-
 ldap_sso.info.yml                                     |  2 +-
 src/Form/LdapSsoAdminForm.php                         |  1 +
 src/LdapSsoBootSubscriber.php                         |  6 +++---
 .../ldap_sso_dummy_ldap/ldap_sso_dummy_ldap.info.yml  |  5 ++---
 tests/src/Functional/LdapSsoBrowserTest.php           | 11 ++++++++++-
 6 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/composer.json b/composer.json
index 1c08895..24ffdbf 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 1a89ddf..d599ca6 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 6d55d74..3476a32 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 bb8a87e..d102005 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 4f9596c..6faafd2 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 84086df..0cc051a 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);
-- 
GitLab