НачатьНачать бесплатно

Защита API с помощью аутентификации по ключу

Вы создаёте защищённый API и хотите реализовать проверку API-ключа. API будет считывать ключ из заголовка X-API-Key каждого запроса и сверять его с заранее заданным секретом. Для реализации этой системы аутентификации вы воспользуетесь встроенными средствами безопасности FastAPI.

Классы FastAPI и HTTPException уже импортированы.

Это упражнение является частью курса

Развёртывание ИИ в производственной среде с помощью 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
Редактировать и запускать код