From 90814fe35a4af7911110f292cddfe677cacd7bf4 Mon Sep 17 00:00:00 2001 From: jekuaitk Date: Thu, 26 Feb 2026 15:25:54 +0100 Subject: [PATCH 1/3] Generate and use unique token keys across OIDC providers --- CHANGELOG.md | 4 ++++ .../os2web/NemloginAuthProvider/OpenIDConnect.php | 14 +++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 326a066..daafbb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [2.4.0] 2026-02-26 + +* Use unique token keys for OIDC providers. + ## [2.3.1] 2025-12-12 * Correctly identify form configured OIDC providers. diff --git a/src/Plugin/os2web/NemloginAuthProvider/OpenIDConnect.php b/src/Plugin/os2web/NemloginAuthProvider/OpenIDConnect.php index 6ecbaa7..7b1e6e5 100644 --- a/src/Plugin/os2web/NemloginAuthProvider/OpenIDConnect.php +++ b/src/Plugin/os2web/NemloginAuthProvider/OpenIDConnect.php @@ -239,7 +239,7 @@ public function logout() { * @phpstan-param array $token */ public function setToken(array $token): self { - $this->session->set(self::SESSION_TOKEN, $token); + $this->session->set($this->getTokenKey(), $token); return $this; } @@ -250,9 +250,10 @@ public function setToken(array $token): self { * @phpstan-return array|null */ private function getToken(bool $clear = FALSE): ?array { - $token = $this->session->get(self::SESSION_TOKEN); + $tokenKey = $this->getTokenKey(); + $token = $this->session->get($tokenKey); if ($clear) { - $this->session->remove(self::SESSION_TOKEN); + $this->session->remove($tokenKey); } return $token; @@ -535,4 +536,11 @@ private function getClaimKeys(): array { return $keys; } + /** + * Get unique token key. + */ + private function getTokenKey(): string { + return self::SESSION_TOKEN . '_' . $this->getPluginId(); + } + } From c63c0c2f8d0b4e0c4f33a2cabe4912502118fef0 Mon Sep 17 00:00:00 2001 From: jekuaitk Date: Thu, 26 Feb 2026 15:28:33 +0100 Subject: [PATCH 2/3] Applied coding standards --- .../os2web/NemloginAuthProvider/OpenIDConnect.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Plugin/os2web/NemloginAuthProvider/OpenIDConnect.php b/src/Plugin/os2web/NemloginAuthProvider/OpenIDConnect.php index 7b1e6e5..b0beb76 100644 --- a/src/Plugin/os2web/NemloginAuthProvider/OpenIDConnect.php +++ b/src/Plugin/os2web/NemloginAuthProvider/OpenIDConnect.php @@ -536,11 +536,11 @@ private function getClaimKeys(): array { return $keys; } - /** - * Get unique token key. - */ - private function getTokenKey(): string { - return self::SESSION_TOKEN . '_' . $this->getPluginId(); - } + /** + * Get unique token key. + */ + private function getTokenKey(): string { + return self::SESSION_TOKEN . '_' . $this->getPluginId(); + } } From 2e58fe91e579fd5aac417fb3a681b92d21654c40 Mon Sep 17 00:00:00 2001 From: jekuaitk Date: Tue, 14 Jul 2026 13:16:01 +0200 Subject: [PATCH 3/3] Updated CHANGELOg --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f47931f..f5cdf48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,7 +53,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). * Allowed multiple providers. -[Unreleased]: https://github.com/itk-dev/os2forms_nemlogin_openid_connect/compare/2.4.1...HEAD +[Unreleased]: https://github.com/itk-dev/os2forms_nemlogin_openid_connect/compare/2.5.0...HEAD +[2.5.0]: https://github.com/itk-dev/os2forms_nemlogin_openid_connect/compare/2.4.1...2.5.0 [2.4.1]: https://github.com/itk-dev/os2forms_nemlogin_openid_connect/compare/2.4.0...2.4.1 [2.4.0]: https://github.com/itk-dev/os2forms_nemlogin_openid_connect/compare/2.3.1...2.4.0 [2.3.1]: https://github.com/itk-dev/os2forms_nemlogin_openid_connect/compare/2.3.0...2.3.1