diff --git a/securelogin.info.yml b/securelogin.info.yml
index e24d65f..ea06df5 100644
--- a/securelogin.info.yml
+++ b/securelogin.info.yml
@@ -1,5 +1,5 @@
 name: Secure Login
 description: Enables user login and other forms to be submitted securely via HTTPS and enforces secure authenticated sessions.
 type: module
-core_version_requirement: ^11.1
+core_version_requirement: ^11.1 || ^12
 configure: securelogin.admin
diff --git a/tests/src/Functional/SecureLoginBlockCacheTest.php b/tests/src/Functional/SecureLoginBlockCacheTest.php
index 2be88aa..acedc14 100644
--- a/tests/src/Functional/SecureLoginBlockCacheTest.php
+++ b/tests/src/Functional/SecureLoginBlockCacheTest.php
@@ -2,12 +2,14 @@
 
 namespace Drupal\Tests\securelogin\Functional;
 
+use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
 use PHPUnit\Framework\Attributes\Group;
 
 /**
  * Tests Secure login with user login block enabled.
  */
 #[Group('Secure login')]
+#[RunTestsInSeparateProcesses]
 class SecureLoginBlockCacheTest extends SecureLoginBlockTest {
 
   /**
diff --git a/tests/src/Functional/SecureLoginBlockTest.php b/tests/src/Functional/SecureLoginBlockTest.php
index c49a861..71c05e1 100644
--- a/tests/src/Functional/SecureLoginBlockTest.php
+++ b/tests/src/Functional/SecureLoginBlockTest.php
@@ -2,12 +2,14 @@
 
 namespace Drupal\Tests\securelogin\Functional;
 
+use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
 use PHPUnit\Framework\Attributes\Group;
 
 /**
  * Tests Secure login with user login block enabled.
  */
 #[Group('Secure login')]
+#[RunTestsInSeparateProcesses]
 class SecureLoginBlockTest extends SecureLoginTestBase {
 
   /**
diff --git a/tests/src/Functional/SecureLoginConfigNoRedirectTest.php b/tests/src/Functional/SecureLoginConfigNoRedirectTest.php
index 48979c4..6046adf 100644
--- a/tests/src/Functional/SecureLoginConfigNoRedirectTest.php
+++ b/tests/src/Functional/SecureLoginConfigNoRedirectTest.php
@@ -2,12 +2,14 @@
 
 namespace Drupal\Tests\securelogin\Functional;
 
+use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
 use PHPUnit\Framework\Attributes\Group;
 
 /**
  * Tests secure login module configuration.
  */
 #[Group('Secure login')]
+#[RunTestsInSeparateProcesses]
 class SecureLoginConfigNoRedirectTest extends SecureLoginConfigTest {
 
   /**
diff --git a/tests/src/Functional/SecureLoginConfigTest.php b/tests/src/Functional/SecureLoginConfigTest.php
index 07d63f2..b1918fb 100644
--- a/tests/src/Functional/SecureLoginConfigTest.php
+++ b/tests/src/Functional/SecureLoginConfigTest.php
@@ -2,12 +2,14 @@
 
 namespace Drupal\Tests\securelogin\Functional;
 
+use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
 use PHPUnit\Framework\Attributes\Group;
 
 /**
  * Tests secure login module configuration.
  */
 #[Group('Secure login')]
+#[RunTestsInSeparateProcesses]
 class SecureLoginConfigTest extends SecureLoginTestBase {
 
   const BASE_URL = 'https://securelogin.test';
diff --git a/tests/src/Functional/SecureLoginTest.php b/tests/src/Functional/SecureLoginTest.php
index 4a4a365..19e0f18 100644
--- a/tests/src/Functional/SecureLoginTest.php
+++ b/tests/src/Functional/SecureLoginTest.php
@@ -2,6 +2,9 @@
 
 namespace Drupal\Tests\securelogin\Functional;
 
+use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
+use Drupal\Component\Utility\DeprecationHelper;
+use Drupal\user\OneTimeAuthentication;
 use Drupal\user\Entity\User;
 use Drupal\user\UserInterface;
 use PHPUnit\Framework\Attributes\Group;
@@ -10,6 +13,7 @@ use PHPUnit\Framework\Attributes\Group;
  * Basic tests for Secure login module.
  */
 #[Group('Secure login')]
+#[RunTestsInSeparateProcesses]
 class SecureLoginTest extends SecureLoginTestBase {
 
   /**
@@ -64,7 +68,7 @@ class SecureLoginTest extends SecureLoginTestBase {
     $this->assertTrue($user instanceof UserInterface);
 
     // Get the password reset login URL without the base path.
-    $url = str_replace($base_url . '/', '', user_pass_reset_url($user)) . '/login';
+    $url = str_replace($base_url . '/', '', DeprecationHelper::backwardsCompatibleCall(\Drupal::VERSION, '11.4.0', fn() => \Drupal::service(OneTimeAuthentication::class)->generateOneTimeLoginUrl($user)->toString(), fn() => user_pass_reset_url($user))) . '/login';
     $this->drupalGet($this->httpUrl($url));
     $this->assertSession()->statusCodeEquals(301);
     $this->assertIsString($header = $this->getSession()->getResponseHeader('Location'));
diff --git a/tests/src/Kernel/MigrateSecurePagesTest.php b/tests/src/Kernel/MigrateSecurePagesTest.php
index 9182639..b1fdbe6 100644
--- a/tests/src/Kernel/MigrateSecurePagesTest.php
+++ b/tests/src/Kernel/MigrateSecurePagesTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\securelogin\Kernel;
 
+use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
 use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
 use PHPUnit\Framework\Attributes\Group;
 
@@ -9,6 +10,7 @@ use PHPUnit\Framework\Attributes\Group;
  * Migrates securepages configuration.
  */
 #[Group('Secure login')]
+#[RunTestsInSeparateProcesses]
 class MigrateSecurePagesTest extends MigrateDrupal7TestBase {
 
   /**
