From 87ff4ca55ce0a456a9a29cc1252433dd836dd9cd Mon Sep 17 00:00:00 2001 From: ishaan-jaff Date: Tue, 16 Jan 2024 15:38:58 -0800 Subject: [PATCH] (fix) proxy check expires time --- litellm/proxy/proxy_server.py | 11 ++++++++++- litellm/proxy/utils.py | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index 6fb14c4f275..d3d63dd59f1 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -355,8 +355,17 @@ async def user_api_key_auth( # Check 3. If token is expired if valid_token.expires is not None: + current_time = datetime.now(timezone.utc) expiry_time = datetime.fromisoformat(valid_token.expires) - if expiry_time < datetime.utcnow(): + if ( + expiry_time.tzinfo is None + or expiry_time.tzinfo.utcoffset(expiry_time) is None + ): + expiry_time = expiry_time.replace(tzinfo=timezone.utc) + verbose_proxy_logger.debug( + f"Checking if token expired, expiry time {expiry_time} and current time {current_time}" + ) + if expiry_time < current_time: # Token exists but is expired. raise HTTPException( status_code=status.HTTP_403_FORBIDDEN, diff --git a/litellm/proxy/utils.py b/litellm/proxy/utils.py index c55453423bf..80c05e78da4 100644 --- a/litellm/proxy/utils.py +++ b/litellm/proxy/utils.py @@ -374,6 +374,8 @@ class PrismaClient: ) print_verbose(f"PrismaClient: response={response}") if response is not None: + # for prisma we need to cast the expires time to str + response.expires = response.expires.isoformat() return response else: # Token does not exist.