Autentificare Bearer cu HTTPBearer în FastAPI în FastAPI

security FastAPI 0.110+ / Python 3.10+ Q&A / Distribuie cod

Implementarea curată a schemelor de autentificare prin tokenuri Bearer fără a impune fluxul complet de login din OAuth2.

Sintaxă
security = HTTPBearer() / credentials: Annotated[HTTPAuthorizationCredentials, Depends(security)]

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}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Autentificare Bearer cu HTTPBearer în FastAPI

Ai o nelămurire despre utilizarea comenzii Autentificare Bearer cu HTTPBearer în FastAPI sau 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.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.