Sécurisation des API avec authentification par clé
Vous développez une API sécurisée et devez mettre en œuvre la vérification des clés API. L'API recherchera une clé dans l'en-tête « X-API-Key
» de chaque requête et la vérifiera par rapport à un secret prédéfini. Vous utiliserez les fonctionnalités de sécurité intégrées à FastAPI pour mettre en œuvre ce système d'authentification.
Les classes FastAPI
et HTTPException
ont été pré-importées.
Cet exercice fait partie du cours
Déployer l'IA en production avec FastAPI
Instructions
- Importez la fonction nécessaire pour gérer les dépendances depuis FastAPI.
- Créez une instance d'en-tête de clé API pour créer une dépendance afin de valider la clé API entrante dans la requête.
- Veuillez compléter la fonction d'
verify_api_key
en vérifiant l'api_key
e entrant à l'aide de la clé secrète prédéfinie. - Génère une exception HTTP lorsqu'une clé non valide est transmise dans la requête.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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