Захист API за допомогою ключової автентифікації
Ви створюєте захищений API й маєте реалізувати перевірку ключа API. Сервіс перевірятиме наявність ключа в заголовку X-API-Key кожного запиту та звірятиме його з наперед визначеним секретом. Ви скористаєтеся вбудованими механізмами безпеки FastAPI, щоб реалізувати цю систему автентифікації.
Класи FastAPI та HTTPException уже імпортовано.
Ця вправа є частиною курсу
Розгортання AI у продакшні з FastAPI
Інструкції до вправи
- Імпортуйте потрібну функцію для керування залежностями з FastAPI.
- Створіть екземпляр заголовка ключа API, щоб додати залежність для перевірки вхідного ключа API в запиті.
- Доповніть функцію
verify_api_key, звіряючи вхіднийapi_keyіз наперед визначеним секретним ключем. - Підійміть HTTP-вийняток, якщо в запиті передано недійсний ключ.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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