diff --git a/src/Listener/AcceptListener.php b/src/Listener/AcceptListener.php index c0a590a..888654f 100644 --- a/src/Listener/AcceptListener.php +++ b/src/Listener/AcceptListener.php @@ -11,6 +11,7 @@ use App\Trait\HasLoggerTrait; use App\Trait\StringTrait; use Psr\Cache\CacheItemPoolInterface; use Psr\Cache\InvalidArgumentException; +use Symfony\Component\DependencyInjection\Attribute\Target; use Symfony\Component\EventDispatcher\Attribute\AsEventListener; use Symfony\Component\HttpKernel\Event\RequestEvent; @@ -21,7 +22,7 @@ final readonly class AcceptListener use StringTrait; public function __construct( - private CacheItemPoolInterface $sessionCache, + #[Target('sessionCache')] private CacheItemPoolInterface $sessionCache, private DomainInterface $domainManager, private ConfigBag $config, ) { diff --git a/src/Listener/AllowListener.php b/src/Listener/AllowListener.php index 9918970..1a2d826 100644 --- a/src/Listener/AllowListener.php +++ b/src/Listener/AllowListener.php @@ -9,6 +9,7 @@ use App\Trait\HasLoggerTrait; use App\Trait\StringTrait; use Psr\Cache\CacheItemPoolInterface; use Psr\Cache\InvalidArgumentException; +use Symfony\Component\DependencyInjection\Attribute\Target; use Symfony\Component\EventDispatcher\Attribute\AsEventListener; use Symfony\Component\HttpKernel\Event\RequestEvent; @@ -18,7 +19,7 @@ final readonly class AllowListener use StringTrait; public function __construct( - private CacheItemPoolInterface $sessionCache, + #[Target('sessionCache')] private CacheItemPoolInterface $sessionCache, private ConfigBag $config, ) { } diff --git a/src/PersistCache.php b/src/PersistCache.php index 1d42d3c..d86ea27 100644 --- a/src/PersistCache.php +++ b/src/PersistCache.php @@ -7,6 +7,7 @@ namespace App; use Psr\Cache\CacheItemPoolInterface; use Psr\Cache\InvalidArgumentException; use Symfony\Component\DependencyInjection\Attribute\Autoconfigure; +use Symfony\Component\DependencyInjection\Attribute\Target; /* need autoconfigure so we get it from the service container in Kernel->boot() */ #[Autoconfigure(public: true)] @@ -17,8 +18,8 @@ final readonly class PersistCache /** @throws InvalidArgumentException */ public function __construct( - CacheItemPoolInterface $sessionCache, - CacheItemPoolInterface $sessionStorage, + #[Target('sessionCache')] CacheItemPoolInterface $sessionCache, + #[Target('sessionStorage')] CacheItemPoolInterface $sessionStorage, ) { $this->sessionCache = new MonitorCacheKeys($sessionCache); $this->sessionStorage = new MonitorCacheKeys($sessionStorage); diff --git a/src/Service/BackupCodeManager.php b/src/Service/BackupCodeManager.php index 6129407..eef2556 100644 --- a/src/Service/BackupCodeManager.php +++ b/src/Service/BackupCodeManager.php @@ -13,6 +13,7 @@ use DateTimeImmutable; use Exception; use Psr\Cache\CacheItemPoolInterface; use Psr\Cache\InvalidArgumentException; +use Symfony\Component\DependencyInjection\Attribute\Target; /** backup-codes are case‑insensitive alphanumeric strings * they are single-use and marked as used after successful authentication */ @@ -29,8 +30,9 @@ final readonly class BackupCodeManager implements BackupCodeInterface private CacheItemPoolInterface $sessionCache; /** @throws InvalidArgumentException */ - public function __construct(CacheItemPoolInterface $sessionCache) - { + public function __construct( + #[Target('sessionCache')] CacheItemPoolInterface $sessionCache + ) { $this->sessionCache = new MonitorCacheKeys($sessionCache); } diff --git a/src/Service/LoginManager.php b/src/Service/LoginManager.php index a5c6f10..a49767b 100644 --- a/src/Service/LoginManager.php +++ b/src/Service/LoginManager.php @@ -13,6 +13,7 @@ use App\Trait\MakeNonceTrait; use App\Trait\StringTrait; use Psr\Cache\CacheItemPoolInterface; use Psr\Cache\InvalidArgumentException; +use Symfony\Component\DependencyInjection\Attribute\Target; use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -30,7 +31,7 @@ final readonly class LoginManager implements LoginInterface /** @throws InvalidArgumentException */ public function __construct( - CacheItemPoolInterface $sessionCache, + #[Target('sessionCache')] CacheItemPoolInterface $sessionCache, private BackupCodeInterface $backupCodeManager, private DomainInterface $domainManager, ) { diff --git a/src/Trait/MakeNonceTrait.php b/src/Trait/MakeNonceTrait.php index ae52f7e..4fe0b03 100644 --- a/src/Trait/MakeNonceTrait.php +++ b/src/Trait/MakeNonceTrait.php @@ -7,6 +7,7 @@ namespace App\Trait; use Exception; use Psr\Cache\CacheItemPoolInterface; use Psr\Cache\InvalidArgumentException; +use Symfony\Component\DependencyInjection\Attribute\Target; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Exception\HttpException; use Symfony\Contracts\Service\Attribute\Required; @@ -23,8 +24,9 @@ trait MakeNonceTrait protected readonly CacheItemPoolInterface $nonceCache; #[Required] - public function setNonceCache(CacheItemPoolInterface $nonceCache): void - { + public function setNonceCache( + #[Target('nonceCache')] CacheItemPoolInterface $nonceCache, + ): void { $this->nonceCache = $nonceCache; }