Sichern von APIs mit Schlüsselauthentifizierung
Du baust eine sichere API und musst eine API-Schlüsselüberprüfung einrichten. Die API schaut bei jeder Anfrage im Header „ X-API-Key
“ nach einem Schlüssel und vergleicht ihn mit einem vordefinierten Geheimnis. Du wirst die integrierten Sicherheitsfunktionen von FastAPI nutzen, um dieses Authentifizierungssystem zu implementieren.
Die Klassen „ FastAPI
“ und „ HTTPException
“ wurden schon importiert.
Diese Übung ist Teil des Kurses
KI mit FastAPI in die Produktion bringen
Anleitung zur Übung
- Importiere die Funktion, die du brauchst, um Abhängigkeiten von FastAPI zu verwalten.
- Mach eine API-Schlüssel-Header-Instanz, um eine Abhängigkeit zu erstellen, die den API-Schlüssel in der Anfrage checkt.
- Fertigstell die Funktion „
verify_api_key
“, indem du die eingehende „api_key
“ mit dem vordefinierten geheimen Schlüssel überprüfst. - Löst eine HTTP-Ausnahme, wenn ein ungültiger Schlüssel in der Anfrage übergeben wird.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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