diff --git a/src/Jwt.php b/src/Jwt.php index 2948904cfe21b83d7ebc56d32bb74990c2d941c9..1f403f612baa627430bed96c995c224f973f73b7 100644 --- a/src/Jwt.php +++ b/src/Jwt.php @@ -17,6 +17,7 @@ use Lcobucci\JWT\Validation\Constraint\IssuedBy; use Lcobucci\JWT\Validation\Constraint\LooseValidAt; use Lcobucci\JWT\Validation\Constraint\PermittedFor; use Lcobucci\JWT\Validation\Constraint\RelatedTo; +use Lcobucci\JWT\Validation\Constraint\ValidAt; use Phpben\Imi\Auth\Contract\TokenContract; use Imi\JWT\Facade\JWT as ImiJwt; use Imi\Cache\CacheManager as Cache; @@ -124,7 +125,15 @@ class Jwt implements TokenContract $config->getIssuer() && $constraints[] = new IssuedBy($config->getIssuer()); $config->getAudience() && $constraints[] = new PermittedFor($config->getAudience()); $config->getSubject() && $constraints[] = new RelatedTo($config->getSubject()); - $constraints[] = new LooseValidAt(new FrozenClock(new \DateTimeImmutable())); + if (class_exists(LooseValidAt::class)) + { + $validAtClass = LooseValidAt::class; + } + else + { + $validAtClass = ValidAt::class; + } + $constraints[] = new $validAtClass(new FrozenClock(new \DateTimeImmutable())); if (!$configuration->validator()->validate($token, ...$constraints)) { return false; }