Mengamankan API dengan autentikasi key
Anda sedang membangun API yang aman dan perlu menerapkan verifikasi API key. API akan memeriksa key pada header X-API-Key dari setiap permintaan dan memverifikasinya terhadap secret yang telah ditentukan. Anda akan menggunakan fitur keamanan bawaan FastAPI untuk menerapkan sistem autentikasi ini.
Kelas FastAPI dan HTTPException telah diimpor sebelumnya.
Latihan ini merupakan bagian dari kursus
Menerapkan AI ke Produksi dengan FastAPI
Instruksi latihan
- Impor fungsi yang diperlukan untuk menangani dependensi dari FastAPI.
- Buat instance header API key untuk membuat dependensi yang memvalidasi API key yang masuk pada permintaan.
- Lengkapi fungsi
verify_api_keydengan memeriksaapi_keyyang masuk terhadap secret key yang telah ditentukan. - Naikkan HTTP exception ketika key yang tidak valid dikirim dalam permintaan.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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