Pentru integrările machine-to-machine (cum ar fi webhook-uri sau API-uri B2B pentru clienți corporate), fluxurile OAuth2 interactive nu sunt practice. Standardul este alocarea unei Chei API (API Key) statice sau rotite periodic.
FastAPI include clasele APIKeyHeader, APIKeyQuery și APIKeyCookie, care extrag cheia, o documentează în Swagger UI sub secțiunea Security și o transmit către funcția de validare.
Exemplu: Securizare endpoint B2B cu APIKeyHeader
from fastapi import FastAPI, Depends, HTTPException, status
from fastapi.security import APIKeyHeader
from typing import Annotated
app = FastAPI()
api_key_header = APIKeyHeader(name="X-API-Key", auto_error=True)
VALID_API_KEYS = {"client_alpha_99", "client_beta_42"}
async def validate_api_key(api_key: Annotated[str, Depends(api_key_header)]):
if api_key not in VALID_API_KEYS:
raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN,
detail="Cheie API neautorizată"
)
return api_key
@app.get("/b2b/inventory")
async def get_inventory(key: Annotated[str, Depends(validate_api_key)]):
return {"status": "ok", "stoc": 1500}
Întrebări & Exemple de Cod:
Autentificare prin Cheie API (APIKeyHeader & APIKeyQuery)Ai o nelămurire despre utilizarea comenzii
Autentificare prin Cheie API (APIKeyHeader & APIKeyQuery)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.