20 lines
530 B
Python
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)]
|
|
|