Zacznij terazZacznij za darmo

Zabezpieczanie API za pomocą uwierzytelniania kluczem

Tworzysz bezpieczne API i musisz zaimplementować weryfikację klucza API. API będzie sprawdzać klucz w nagłówku X-API-Key każdego żądania i porównywać go z predefiniowanym sekretem. Do zbudowania tego systemu uwierzytelniania wykorzystasz wbudowane funkcje zabezpieczeń FastAPI.

Klasy FastAPI i HTTPException zostały już zaimportowane.

To ćwiczenie jest częścią kursu

Wdrażanie AI na produkcję z FastAPI

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj funkcję niezbędną do obsługi zależności z FastAPI.
  • Utwórz instancję nagłówka klucza API, aby zdefiniować zależność weryfikującą przychodzący klucz API w żądaniu.
  • Uzupełnij funkcję verify_api_key, porównując przychodzący api_key z predefiniowanym kluczem sekretnym.
  • Wywołaj wyjątek HTTP, gdy w żądaniu zostanie przekazany nieprawidłowy klucz.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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
Edytuj i uruchom kod