From 8badb9aaaf79fd20ff3311b936bfcf9a10d21766 Mon Sep 17 00:00:00 2001 From: Houkime <> Date: Fri, 10 Nov 2023 13:31:12 +0000 Subject: [PATCH] refactor(auth): tz_aware expiration comparison --- selfprivacy_api/actions/api_tokens.py | 6 ++++-- selfprivacy_api/utils/{time.py => timeutils.py} | 0 2 files changed, 4 insertions(+), 2 deletions(-) rename selfprivacy_api/utils/{time.py => timeutils.py} (100%) diff --git a/selfprivacy_api/actions/api_tokens.py b/selfprivacy_api/actions/api_tokens.py index 37b7631..3746c57 100644 --- a/selfprivacy_api/actions/api_tokens.py +++ b/selfprivacy_api/actions/api_tokens.py @@ -7,6 +7,7 @@ from typing import Optional from pydantic import BaseModel from mnemonic import Mnemonic +from selfprivacy_api.utils.timeutils import ensure_tz_aware from selfprivacy_api.repositories.tokens.redis_tokens_repository import ( RedisTokensRepository, ) @@ -121,8 +122,9 @@ def get_new_api_recovery_key( ) -> str: """Get new recovery key""" if expiration_date is not None: - current_time = datetime.now().timestamp() - if expiration_date.timestamp() < current_time: + expiration_date = ensure_tz_aware(expiration_date) + current_time = datetime.now(timezone.utc) + if expiration_date < current_time: raise InvalidExpirationDate("Expiration date is in the past") if uses_left is not None: if uses_left <= 0: diff --git a/selfprivacy_api/utils/time.py b/selfprivacy_api/utils/timeutils.py similarity index 100% rename from selfprivacy_api/utils/time.py rename to selfprivacy_api/utils/timeutils.py