auth.py 573 B

123456789101112131415161718
  1. from fastapi import Depends, HTTPException, status
  2. from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
  3. from app.core.config import settings
  4. security = HTTPBearer()
  5. API_TOKEN = settings.api_token
  6. def verify_token(credentials: HTTPAuthorizationCredentials = Depends(security)):
  7. """
  8. 全局鉴权依赖
  9. """
  10. if credentials.credentials != API_TOKEN:
  11. raise HTTPException(
  12. status_code=status.HTTP_401_UNAUTHORIZED,
  13. detail="Invalid or missing token",
  14. headers={"WWW-Authenticate": "Bearer"},
  15. )