Fix flow where oidc_expiry is different from token expiry (#1974)

This commit is contained in:
Chris Weaver 2024-07-29 20:17:08 -07:00 committed by GitHub
parent 015f415b71
commit fb6695a983
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 1 deletions

View File

@ -347,6 +347,12 @@ async def double_check_user(
detail="Access denied. User is not verified.",
)
if user.oidc_expiry and user.oidc_expiry < datetime.now(timezone.utc):
raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN,
detail="Access denied. User's OIDC token has expired.",
)
return user

View File

@ -1,5 +1,6 @@
import re
from datetime import datetime
from datetime import timezone
from fastapi import APIRouter
from fastapi import Body
@ -296,6 +297,12 @@ def verify_user_logged_in(
status_code=status.HTTP_403_FORBIDDEN, detail="User Not Authenticated"
)
if user.oidc_expiry and user.oidc_expiry < datetime.now(timezone.utc):
raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN,
detail="Access denied. User's OIDC token has expired.",
)
token_created_at = get_current_token_creation(user, db_session)
user_info = UserInfo.from_model(
user,

View File

@ -1,7 +1,7 @@
from typing import Any
from typing import cast
from openai import BaseModel
from pydantic import BaseModel
REQUEST_BODY = "requestBody"