Code: Select all
from fastapi import Depends, FastAPI, HTTPException, Security
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
async def verify(token: HTTPAuthorizationCredentials | None = Depends(HTTPBearer())):
if token is None:
raise HTTPException(status_code=401)
# VERIFY TOKEN
return token
app = FastAPI(
swagger_ui_parameters={"preauthorizeApiKey": {"HTTPBearer": "demo_key_for_testing"}}
)
@app.get("/api/private")
def private(auth_result: str = Security(verify)):
"""A valid access token is required to access this route"""
return auth_result