CommencerCommencer gratuitement

Sécuriser des API avec une authentification par clé

Vous construisez une API sécurisée et devez implémenter une vérification de clé d’API. L’API vérifiera la présence d’une clé dans l’en-tête X-API-Key de chaque requête et la comparera à un secret prédéfini. Vous utiliserez les fonctionnalités de sécurité intégrées de FastAPI pour mettre en place ce système d’authentification.

Les classes FastAPI et HTTPException ont déjà été importées.

Cet exercice fait partie du cours

Déployer l’IA en production avec FastAPI

Afficher le cours

Instructions

  • 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 d’ajouter une dépendance qui validera la clé d’API entrante dans la requête.
  • Complétez la fonction verify_api_key en comparant la api_key reç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 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
Modifier et exécuter le code