diff --git a/src/Symfony/Component/Security/Http/LoginLink/LoginLinkHandler.php b/src/Symfony/Component/Security/Http/LoginLink/LoginLinkHandler.php index b49fd8b1ea31b..b55e8aa6becf9 100644 --- a/src/Symfony/Component/Security/Http/LoginLink/LoginLinkHandler.php +++ b/src/Symfony/Component/Security/Http/LoginLink/LoginLinkHandler.php @@ -46,9 +46,9 @@ public function __construct(UrlGeneratorInterface $urlGenerator, UserProviderInt public function createLoginLink(UserInterface $user, Request $request = null): LoginLinkDetails { - $expiresAt = new \DateTimeImmutable(sprintf('+%d seconds', $this->options['lifetime'])); + $expires = time() + $this->options['lifetime']; + $expiresAt = new \DateTimeImmutable('@'.$expires); - $expires = $expiresAt->format('U'); $parameters = [ // @deprecated since Symfony 5.3, change to $user->getUserIdentifier() in 6.0 'user' => method_exists($user, 'getUserIdentifier') ? $user->getUserIdentifier() : $user->getUsername(), diff --git a/src/Symfony/Component/Security/Http/Tests/LoginLink/LoginLinkHandlerTest.php b/src/Symfony/Component/Security/Http/Tests/LoginLink/LoginLinkHandlerTest.php index 767f553bf4d55..c454f65164ba4 100644 --- a/src/Symfony/Component/Security/Http/Tests/LoginLink/LoginLinkHandlerTest.php +++ b/src/Symfony/Component/Security/Http/Tests/LoginLink/LoginLinkHandlerTest.php @@ -52,6 +52,7 @@ protected function setUp(): void } /** + * @group time-sensitive * @dataProvider provideCreateLoginLinkData */ public function testCreateLoginLink($user, array $extraProperties, Request $request = null)