from contextlib import asynccontextmanager from typing import Annotated from fastapi import Depends, FastAPI from fastapi.security import OAuth2PasswordBearer @asynccontextmanager async def lifespan(app): yield app = FastAPI(lifespan=lifespan) oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token") @app.get("/items/") async def read_items(token: Annotated[str, Depends(oauth2_scheme)]): return {"token": token}