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"
}
Întrebări & Exemple de Cod:
Formularul OAuth2PasswordRequestForm în FastAPIAi o nelămurire despre utilizarea comenzii
Formularul OAuth2PasswordRequestForm î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.