oidc-fastapi-test/src/oidc_test/resource_server.py
2025-01-28 19:48:35 +01:00

21 lines
796 B
Python

from datetime import datetime
from httpx import AsyncClient
from .models import User
async def get_resource(id: str, user: User) -> dict:
pname = getattr(user.oidc_provider, "name", "?")
resp = {
"hello" : f"Hi {user.name} from an OAuth resource provider.",
"comment": f"I received a request for '{id}' with an access token signed by {pname}."
}
if id == "time":
resp["time"] = datetime.now().strftime("%c")
elif id == "bs":
async with AsyncClient() as client:
bs = await client.get("https://corporatebs-generator.sameerkumar.website/")
resp['bs'] = bs.json().get("phrase", "Sorry, i am out of BS today.")
else:
resp['sorry'] = f"I don't known how to give '{id}' but i know corporate bs."
return resp