Sécuriser des API avec une authentification par clé
Vous développez une API sécurisée et devez mettre en place une vérification par clé d'API. L'API doit chercher une clé dans l'en-tête X-API-Key de chaque requête et la comparer à un secret défini à l'avance. Vous utiliserez les fonctionnalités de sécurité intégrées de FastAPI pour implanter ce mécanisme d'authentification.
Les classes FastAPI et HTTPException ont déjà été importées.
Cette activité fait partie du cours
Déployer l'IA en production avec FastAPI
Instructions de l’exercice
- Importez la fonction nécessaire pour gérer les dépendances depuis FastAPI.
- Créez une instance d'en-tête de clé d'API afin de définir une dépendance qui validera la clé d'API reçue dans la requête.
- Complétez la fonction
verify_api_keyen comparant laapi_keyreçue avec la clé secrète prédéfinie. - Levez une exception HTTP lorsqu'une clé invalide est transmise dans la requête.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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