Anahtar kimlik doğrulamasıyla API'leri güvene almak
Güvenli bir API geliştiriyorsun ve API anahtarı doğrulaması uygulaman gerekiyor. API, her isteğin X-API-Key başlığında bir anahtar arayacak ve bunu önceden tanımlanmış gizli anahtarla karşılaştıracak. Bu kimlik doğrulama sistemini uygulamak için FastAPI'nin yerleşik güvenlik özelliklerini kullanacaksın.
FastAPI ve HTTPException sınıfları önceden içe aktarılmıştır.
Bu egzersiz, kursun bir parçasıdır
FastAPI ile Üretime AI Dağıtımı
Egzersiz talimatları
- FastAPI'den bağımlılıkları yönetmek için gerekli fonksiyonu içe aktar.
- İstekle gelen API anahtarını doğrulamak için bir bağımlılık oluşturacak bir API anahtarı başlığı örneği yarat.
verify_api_keyfonksiyonunu, gelenapi_keydeğerini önceden tanımlanmış gizli anahtarla karşılaştırarak tamamla.- İstek içinde geçersiz bir anahtar iletildiğinde bir HTTP hatası fırlat.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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