diff --git a/src/ohmyapi/builtin/auth/routes.py b/src/ohmyapi/builtin/auth/routes.py index 8a81389..2f1cb2a 100644 --- a/src/ohmyapi/builtin/auth/routes.py +++ b/src/ohmyapi/builtin/auth/routes.py @@ -1,6 +1,6 @@ import time from enum import Enum -from typing import Any, Dict, List +from typing import Any, Dict, List, Optional import jwt import settings @@ -124,6 +124,12 @@ async def get_current_user(token: str = Depends(oauth2_scheme)) -> User: return user +async def optionally_authenticated(token: Optional[str] = Depends(oauth2_scheme)) -> Optional[User]: + if token is None: + return None + return await get_current_user(token) + + async def require_authenticated(current_user: User = Depends(get_current_user)) -> User: """Ensure the current user is an admin.""" if not current_user: