Protegendo APIs com autenticação por chave
Você está criando uma API segura e precisa implementar a verificação da chave da API. A API vai procurar uma chave no cabeçalho “ X-API-Key
” de cada solicitação e comparar com um segredo pré-definido. Você vai usar os recursos de segurança integrados do FastAPI para implementar esse sistema de autenticação.
As classes FastAPI
e HTTPException
já foram importadas.
Este exercício faz parte do curso
Implementando IA na produção com FastAPI
Instruções do exercício
- Importa a função necessária para lidar com dependências do FastAPI.
- Crie uma instância de cabeçalho de chave API para criar uma dependência para validar a chave API recebida na solicitação.
- Complete a função “
verify_api_key
” verificando o “api_key
” recebido com a chave secreta pré-definida. - Levanta uma exceção HTTP quando uma chave inválida é passada na solicitaçã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