Protección de API con autenticación por clave
Estás creando una API segura y necesitas implementar la verificación de claves API. La API comprobará si hay una clave en el encabezado « X-API-Key
» de cada solicitud y la verificará con un secreto predefinido. Utilizarás las funciones de seguridad integradas en FastAPI para implementar este sistema de autenticación.
Las clases FastAPI
y HTTPException
se han importado previamente.
Este ejercicio forma parte del curso
Implementación de IA en producción con FastAPI
Instrucciones del ejercicio
- Importa la función necesaria para gestionar las dependencias desde FastAPI.
- Crea una instancia de encabezado de clave API para crear una dependencia que valide la clave API entrante en la solicitud.
- Completa la función
verify_api_key
comprobando elapi_key
entrante con la clave secreta predefinida. - Genera una excepción HTTP cuando se pasa una clave no válida en la solicitud.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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