将 API 密钥身份验证添加到 FastAPI 应用程序
API_KEY
方法一
from fastapi import Security, HTTPException, status
from fastapi.security.api_key import APIKeyHeader
API_KEY="123456"
API_KEY_NAME = "X-API-KEY"
api_key_header = APIKeyHeader(name=API_KEY_NAME, auto_error=True)
async def get_api_key(api_key: str = Security(api_key_header)):
if api_key != API_KEY:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Invalid API Key"
)
@app.get('/index', dependencies=[Security(get_api_key)])
async def index():
return {"message": "Hello World"}
APIKeyHeader 的源码