diff --git a/src/Appwrite/Auth/Auth.php b/src/Appwrite/Auth/Auth.php index 7b1c1c0f01..30cbf54453 100644 --- a/src/Appwrite/Auth/Auth.php +++ b/src/Appwrite/Auth/Auth.php @@ -207,7 +207,7 @@ class Auth $token->isSet('expire') && $token->getAttribute('type') == $type && $token->getAttribute('secret') === self::hash($secret) && - $token->getAttribute('expire') >= DateTime::now() + DateTime::formatTz($token->getAttribute('expire')) >= DateTime::formatTz(DateTime::now()) ) { return (string)$token->getId(); } @@ -226,7 +226,7 @@ class Auth $token->isSet('expire') && $token->getAttribute('type') == Auth::TOKEN_TYPE_PHONE && $token->getAttribute('secret') === $secret && - $token->getAttribute('expire') >= DateTime::now() + DateTime::formatTz($token->getAttribute('expire')) >= DateTime::formatTz(DateTime::now()) ) { return (string) $token->getId(); } @@ -252,7 +252,7 @@ class Auth $session->isSet('expire') && $session->isSet('provider') && $session->getAttribute('secret') === self::hash($secret) && - $session->getAttribute('expire') >= DateTime::now() + DateTime::formatTz($session->getAttribute('expire')) >= DateTime::formatTz(DateTime::now()) ) { return $session->getId(); } diff --git a/tests/unit/Auth/AuthTest.php b/tests/unit/Auth/AuthTest.php index be445e62aa..8255af15ff 100644 --- a/tests/unit/Auth/AuthTest.php +++ b/tests/unit/Auth/AuthTest.php @@ -74,14 +74,14 @@ class AuthTest extends TestCase $tokens1 = [ new Document([ '$id' => ID::custom('token1'), - 'expire' => DateTime::addSeconds(new \DateTime(), 60 * 60 * 24), + 'expire' => DateTime::formatTz(DateTime::addSeconds(new \DateTime(), 60 * 60 * 24)), 'secret' => $hash, 'provider' => Auth::SESSION_PROVIDER_EMAIL, 'providerUid' => 'test@example.com', ]), new Document([ '$id' => ID::custom('token2'), - 'expire' => DateTime::addSeconds(new \DateTime(), -60 * 60 * 24), + 'expire' => DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -60 * 60 * 24)), 'secret' => 'secret2', 'provider' => Auth::SESSION_PROVIDER_EMAIL, 'providerUid' => 'test@example.com', @@ -91,14 +91,14 @@ class AuthTest extends TestCase $tokens2 = [ new Document([ // Correct secret and type time, wrong expire time '$id' => ID::custom('token1'), - 'expire' => DateTime::addSeconds(new \DateTime(), -60 * 60 * 24), + 'expire' => DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -60 * 60 * 24)), 'secret' => $hash, 'provider' => Auth::SESSION_PROVIDER_EMAIL, 'providerUid' => 'test@example.com', ]), new Document([ '$id' => ID::custom('token2'), - 'expire' => DateTime::addSeconds(new \DateTime(), -60 * 60 * 24), + 'expire' => DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -60 * 60 * 24)), 'secret' => 'secret2', 'provider' => Auth::SESSION_PROVIDER_EMAIL, 'providerUid' => 'test@example.com', @@ -119,13 +119,13 @@ class AuthTest extends TestCase new Document([ '$id' => ID::custom('token1'), 'type' => Auth::TOKEN_TYPE_RECOVERY, - 'expire' => DateTime::addSeconds(new \DateTime(), 60 * 60 * 24), + 'expire' => DateTime::formatTz(DateTime::addSeconds(new \DateTime(), 60 * 60 * 24)), 'secret' => $hash, ]), new Document([ '$id' => ID::custom('token2'), 'type' => Auth::TOKEN_TYPE_RECOVERY, - 'expire' => DateTime::addSeconds(new \DateTime(), -60 * 60 * 24), + 'expire' => DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -60 * 60 * 24)), 'secret' => 'secret2', ]), ]; @@ -134,13 +134,13 @@ class AuthTest extends TestCase new Document([ // Correct secret and type time, wrong expire time '$id' => ID::custom('token1'), 'type' => Auth::TOKEN_TYPE_RECOVERY, - 'expire' => DateTime::addSeconds(new \DateTime(), -60 * 60 * 24), + 'expire' => DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -60 * 60 * 24)), 'secret' => $hash, ]), new Document([ '$id' => ID::custom('token2'), 'type' => Auth::TOKEN_TYPE_RECOVERY, - 'expire' => DateTime::addSeconds(new \DateTime(), -60 * 60 * 24), + 'expire' => DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -60 * 60 * 24)), 'secret' => 'secret2', ]), ]; @@ -149,13 +149,13 @@ class AuthTest extends TestCase new Document([ '$id' => ID::custom('token1'), 'type' => Auth::TOKEN_TYPE_INVITE, - 'expire' => DateTime::addSeconds(new \DateTime(), 60 * 60 * 24), + 'expire' => DateTime::formatTz(DateTime::addSeconds(new \DateTime(), 60 * 60 * 24)), 'secret' => $hash, ]), new Document([ '$id' => ID::custom('token2'), 'type' => Auth::TOKEN_TYPE_RECOVERY, - 'expire' => DateTime::addSeconds(new \DateTime(), -60 * 60 * 24), + 'expire' => DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -60 * 60 * 24)), 'secret' => 'secret2', ]), ];