Dacă API-ul tău utilizează tokenuri de acces (JWT sau chei de sesiune) emise de un serviciu extern și nu ai nevoie de endpoint-ul nativ de login cu formular din OAuth2, clasa HTTPBearer este soluția cea mai simplă și elegantă.
Aceasta validează prezența antetului Authorization: Bearer <token>, returnează un obiect HTTPAuthorizationCredentials cu tokenul extras și configurează automat butonul de autorizare „Authorize” în Swagger UI.
Exemplu: Protejarea rutelor prin HTTPBearer
from fastapi import FastAPI, Depends, HTTPException, status
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
from typing import Annotated
app = FastAPI()
security = HTTPBearer()
async def verify_bearer_token(credentials: Annotated[HTTPAuthorizationCredentials, Depends(security)]):
token = credentials.credentials
if token != "token_secret_valabil":
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Token Bearer invalid sau expirat",
headers={"WWW-Authenticate": "Bearer"}
)
return token
@app.get("/secret-data")
async def get_secret(token: Annotated[str, Depends(verify_bearer_token)]):
return {"status": "succes", "token_utilizat": token}
Întrebări & Exemple de Cod:
Autentificare Bearer cu HTTPBearer în FastAPIAi o nelămurire despre utilizarea comenzii
Autentificare Bearer cu HTTPBearer în FastAPIsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.