From 826f053230cdcdf1697bb8b0c041ea925114c64a Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 1 Feb 2025 13:57:55 -0600 Subject: [PATCH 1/3] =?UTF-8?q?don=E2=80=99t=20try=20to=20get=20session=20?= =?UTF-8?q?when=20it=E2=80=99s=20stateless?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/EventListener/LoginListener.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/EventListener/LoginListener.php b/src/EventListener/LoginListener.php index 2a766cc7..ef663efb 100644 --- a/src/EventListener/LoginListener.php +++ b/src/EventListener/LoginListener.php @@ -47,7 +47,11 @@ public function __construct(HubInterface $hub, ?TokenStorageInterface $tokenStor */ public function handleKernelRequestEvent(RequestEvent $event): void { - if (null === $this->tokenStorage || !$this->isMainRequest($event)) { + if ( + null === $this->tokenStorage + || !$this->isMainRequest($event) + || $event->getRequest()->attributes->get('_stateless') + ) { return; } From 1e8f3b46d3184abf38ec53b6af77114c111f665e Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 1 Feb 2025 14:05:17 -0600 Subject: [PATCH 2/3] added test --- tests/EventListener/LoginListenerTest.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/EventListener/LoginListenerTest.php b/tests/EventListener/LoginListenerTest.php index 34c37e3d..0186f409 100644 --- a/tests/EventListener/LoginListenerTest.php +++ b/tests/EventListener/LoginListenerTest.php @@ -298,6 +298,18 @@ public function __toString(): string } } + public function testHandleKernelRequestEventDoesNothingIfRequestIsForStatelessRoute(): void + { + $this->tokenStorage->expects($this->never()) + ->method('getToken'); + + $this->listener->handleKernelRequestEvent(new RequestEvent( + $this->createMock(HttpKernelInterface::class), + new Request(attributes: ['_stateless' => true]), + HttpKernelInterface::SUB_REQUEST + )); + } + public function testHandleKernelRequestEventDoesNothingIfRequestIsNotMain(): void { $this->tokenStorage->expects($this->never()) From 402731bf9a4d3571dcb9be9a99eb1c31af2947a6 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sun, 2 Feb 2025 08:13:10 -0600 Subject: [PATCH 3/3] Update tests/EventListener/LoginListenerTest.php Co-authored-by: Michi Hoffmann --- tests/EventListener/LoginListenerTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/EventListener/LoginListenerTest.php b/tests/EventListener/LoginListenerTest.php index 0186f409..da037bef 100644 --- a/tests/EventListener/LoginListenerTest.php +++ b/tests/EventListener/LoginListenerTest.php @@ -305,7 +305,7 @@ public function testHandleKernelRequestEventDoesNothingIfRequestIsForStatelessRo $this->listener->handleKernelRequestEvent(new RequestEvent( $this->createMock(HttpKernelInterface::class), - new Request(attributes: ['_stateless' => true]), + new Request([], [], ['_stateless' => true]), HttpKernelInterface::SUB_REQUEST )); }