Aan de slagBegin gratis

API's beveiligen met sleutel-authenticatie

Je bouwt een veilige API en moet API-sleutelverificatie implementeren. De API controleert bij elke request op een sleutel in de header X-API-Key en verifieert die tegen een vooraf gedefinieerd geheim. Je gebruikt de ingebouwde beveiligingsfuncties van FastAPI om dit authenticatiesysteem te realiseren.

De klassen FastAPI en HTTPException zijn al vooraf geïmporteerd.

Deze oefening maakt deel uit van de cursus

AI in productie brengen met FastAPI

Bekijk cursus

Oefeninstructies

  • Importeer de benodigde functie uit FastAPI om afhankelijkheden af te handelen.
  • Maak een API key header-instantie om een dependency te maken die de binnenkomende API-sleutel in de request valideert.
  • Maak de functie verify_api_key af door de binnenkomende api_key te vergelijken met de vooraf gedefinieerde geheime sleutel.
  • Gooi een HTTP-exceptie wanneer een ongeldige sleutel in de request wordt doorgegeven.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Import the function that handles dependencies
from fastapi import ____
from fastapi.security import APIKeyHeader

# Create the API key instance
api_key_header = ____(name="X-API-Key")
API_KEY = "your_secret_key"

# Pass the APIKeyHeader instance and verify against input api_key
def verify_api_key(api_key: str = Depends(____)):
    if api_key != ____:  
      	# Raise the HTTP exception here
        raise ____(status_code=403, detail="Invalid API Key")  
    return api_key
Code bewerken en uitvoeren