Protegendo APIs com autenticação por chave
Você está construindo uma API segura e precisa implementar a verificação de chave de API. A API vai buscar uma chave no cabeçalho X-API-Key de cada requisição e validá-la contra um segredo pré-definido. Você vai usar os recursos de segurança nativos do FastAPI para implementar esse sistema de autenticação.
As classes FastAPI e HTTPException já foram importadas.
Este exercício faz parte do curso
Colocando IA em Produção com FastAPI
Instruções do exercício
- Importe a função necessária do FastAPI para lidar com dependências.
- Crie uma instância de cabeçalho de chave de API para definir uma dependência que valide a chave de API recebida na requisição.
- Complete a função
verify_api_keyverificando oapi_keyrecebido com a chave secreta pré-definida. - Lance uma exceção HTTP quando uma chave inválida for enviada na requisição.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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