dooris/api/src/dooris_api/deps.py

20 lines
530 B
Python

from typing import Annotated, Optional
from fastapi import Request, Depends
from simple_openid_connect.client import OpenidClient
from dooris_api import models
async def get_oidc_client(req: Request) -> OpenidClient:
return req.app.extra["oidc_client"]
OpenidClient = Annotated[OpenidClient, Depends(get_oidc_client)]
async def get_current_user(req: Request, oidc_client: OpenidClient) -> Optional[models.CurrentUser]:
return None
CurrentUser = Annotated[Optional[models.CurrentUser], Depends(get_current_user)]