开始使用免费开始使用

使用密钥认证保护 API

您正在构建一个安全的 API,需要实现 API 密钥校验。该 API 会在每个请求的 X-API-Key 请求头中检查密钥,并将其与预定义的机密进行比对。您将使用 FastAPI 的内置安全功能来实现这套认证机制。

FastAPIHTTPException 类已预先导入。

本练习是课程的一部分

使用 FastAPI 在生产环境中部署 AI

查看课程

练习说明

  • 从 FastAPI 导入处理依赖所需的函数。
  • 创建一个 API 密钥头实例,作为依赖来验证请求中传入的 API 密钥。
  • 完成 verify_api_key 函数,检查传入的 api_key 是否与预定义的密钥匹配。
  • 当请求中提供的密钥无效时,抛出一个 HTTP 异常。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# 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
编辑并运行代码