Formularul OAuth2PasswordRequestForm în FastAPI în FastAPI

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

Procesarea cererii de login conform standardului OAuth2: primirea username-ului, parolei și a scopurilor opționale din formular.

Sintaxă
form_data: Annotated[OAuth2PasswordRequestForm, Depends()]

Pentru a integra perfect butonul „Authorize” din Swagger UI cu mecanismul tău de autentificare, endpoint-ul de emitere a tokenurilor (/token) trebuie să primească datele ca formular conform specificației OAuth2.

Clasa de dependență OAuth2PasswordRequestForm extrage automat câmpurile form_data.username, form_data.password și lista de form_data.scopes trimise prin POST, returnând tokenul JSON cu proprietățile obligatorii access_token și token_type.

Exemplu: Endpoint de login /token compatibil cu Swagger UI
from fastapi import FastAPI, Depends, HTTPException, status
from fastapi.security import OAuth2PasswordRequestForm
from typing import Annotated

app = FastAPI()

@app.post("/token")
async def login_for_access_token(form_data: Annotated[OAuth2PasswordRequestForm, Depends()]):
    # Verificăm datele de identificare:
    if form_data.username != "dexter" or form_data.password != "secret123":
        raise HTTPException(
            status_code=status.HTTP_400_BAD_REQUEST,
            detail="Nume de utilizator sau parolă incorectă"
        )
    
    # Returnăm tokenul conform standardului OAuth2:
    return {
        "access_token": "token_generat_jwt_123",
        "token_type": "bearer"
    }

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Formularul OAuth2PasswordRequestForm în FastAPI

Ai o nelămurire despre utilizarea comenzii Formularul OAuth2PasswordRequestForm î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.