Bắt đầu ngayBắt đầu miễn phí

Bảo vệ API bằng xác thực bằng khóa

Bạn đang xây dựng một API an toàn và cần triển khai kiểm tra API key. API sẽ tìm khóa trong header X-API-Key của mỗi request và xác thực nó với một secret đã định sẵn. Bạn sẽ dùng các tính năng bảo mật tích hợp sẵn của FastAPI để triển khai hệ thống xác thực này.

Các lớp FastAPIHTTPException đã được import sẵn.

Bài tập này là một phần của khóa học

Triển khai AI vào môi trường sản xuất với FastAPI

Xem khóa học

Hướng dẫn bài tập

  • Import hàm cần thiết từ FastAPI để xử lý dependency.
  • Tạo một instance API key header để tạo dependency dùng xác thực API key nhận vào trong request.
  • Hoàn thiện hàm verify_api_key bằng cách so sánh api_key nhận vào với secret key đã định sẵn.
  • Ném một HTTP exception khi request truyền vào key không hợp lệ.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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
Chỉnh sửa và Chạy Mã