@@ -394,10 +394,8 @@ protected function runSessionOnKernelResponse($newToken, $original = null)
394394 $ session ->set ('_security_session ' , $ original );
395395 }
396396
397- $ tokenStorage = new UsageTrackingTokenStorage (new TokenStorage (), new class (['request_stack ' => function () use ($ requestStack ) {
398- return $ requestStack ;
399- },
400- ]) implements ContainerInterface {
397+ $ factories = ['request_stack ' => function () use ($ requestStack ) { return $ requestStack ; }];
398+ $ tokenStorage = new UsageTrackingTokenStorage (new TokenStorage (), new class ($ factories ) implements ContainerInterface {
401399 use ServiceLocatorTrait;
402400 });
403401
@@ -441,17 +439,14 @@ private function handleEventWithPreviousSession($userProviders, UserInterface $u
441439
442440 $ tokenStorage = new TokenStorage ();
443441 $ usageIndex = $ session ->getUsageIndex ();
444- $ tokenStorage = new UsageTrackingTokenStorage ($ tokenStorage , new class (
445- (new \ReflectionClass (UsageTrackingTokenStorage::class))->hasMethod ('getSession ' ) ? [
446- 'request_stack ' => function () use ($ requestStack ) {
447- return $ requestStack ;
448- }] : [
449- // BC for symfony/framework-bundle < 5.3
450- 'session ' => function () use ($ session ) {
451- return $ session ;
452- },
453- ]
454- ) implements ContainerInterface {
442+
443+ if ((new \ReflectionClass (UsageTrackingTokenStorage::class))->hasMethod ('getSession ' )) {
444+ $ factories = ['request_stack ' => function () use ($ requestStack ) { return $ requestStack ; }];
445+ } else {
446+ // BC for symfony/framework-bundle < 5.3
447+ $ factories = ['session ' => function () use ($ session ) { return $ session ; }];
448+ }
449+ $ tokenStorage = new UsageTrackingTokenStorage ($ tokenStorage , new class ($ factories ) implements ContainerInterface {
455450 use ServiceLocatorTrait;
456451 });
457452 $ sessionTrackerEnabler = [$ tokenStorage , 'enableUsageTracking ' ];
0 commit comments