mirror of
https://github.com/fastapi/fastapi.git
synced 2026-11-15 16:15:21 +08:00
22 lines
618 B
Python
22 lines
618 B
Python
from typing import Annotated
|
|
|
|
from fastapi import Depends, FastAPI, HTTPException, status
|
|
from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer
|
|
|
|
app = FastAPI()
|
|
|
|
|
|
class HTTPBearer403(HTTPBearer):
|
|
def make_not_authenticated_error(self) -> HTTPException:
|
|
return HTTPException(
|
|
status_code=status.HTTP_403_FORBIDDEN, detail="Not authenticated"
|
|
)
|
|
|
|
|
|
CredentialsDep = Annotated[HTTPAuthorizationCredentials, Depends(HTTPBearer403())]
|
|
|
|
|
|
@app.get("/me")
|
|
def read_me(credentials: CredentialsDep):
|
|
return {"message": "You are authenticated", "token": credentials.credentials}
|