Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
from typing import Union from fastapi import FastAPI, Header, HTTPException app = FastAPI() @app.get("/whoami") async def who_am_i(x_api_key: Union[str, None] = Header(default=None), ): if x_api_key is None: raise HTTPException(status_code=401) # See https://fastapi.tiangolo.com/tutorial/sql-databases/ for details on SessionLocal db = SessionLocal() try: api_key = lookup_api_key(db, x_api_key) if api_key is None: raise HTTPException(status_code=401) return {"user": api_key.user_id} finally: db.close()