เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การรักษาความปลอดภัย API ด้วย key authentication

คุณกำลังสร้าง API ที่ปลอดภัยและต้องการนำระบบตรวจสอบ API key มาใช้งาน โดย API จะตรวจสอบ key จาก header X-API-Key ของแต่ละ request และนำไปเปรียบเทียบกับ secret ที่กำหนดไว้ล่วงหน้า คุณจะใช้ฟีเจอร์ด้านความปลอดภัยของ FastAPI เพื่อสร้างระบบ authentication นี้

คลาส FastAPI และ HTTPException ถูก import ไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การ Deploy AI สู่ Production ด้วย FastAPI

ดูคอร์ส

คำแนะนำการฝึกหัด

  • Import ฟังก์ชันที่จำเป็นสำหรับการจัดการ dependencies จาก FastAPI
  • สร้าง instance ของ API key header เพื่อใช้เป็น dependency สำหรับตรวจสอบ API key ที่ส่งเข้ามาใน request
  • เติมโค้ดในฟังก์ชัน verify_api_key โดยตรวจสอบ api_key ที่รับเข้ามากับ secret key ที่กำหนดไว้
  • Raise HTTP exception เมื่อมีการส่ง key ที่ไม่ถูกต้องมาใน request

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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
แก้ไขและรันโค้ด