sapcedeploy / app /auth.py
Leeflour's picture
Upload folder using huggingface_hub
b7bd3ec verified
raw
history blame contribute delete
622 Bytes
from fastapi import Depends, HTTPException, Security
from fastapi.security.api_key import APIKeyHeader
from starlette.status import HTTP_403_FORBIDDEN
from .config import get_settings
api_key_header = APIKeyHeader(name="X-API-KEY", auto_error=False)
def require_api_key(api_key: str | None = Security(api_key_header)) -> str:
settings = get_settings()
if api_key is None or api_key not in settings.api_key:
raise HTTPException(
status_code=HTTP_403_FORBIDDEN,
detail="Invalid or missing API key",
)
return api_key # returned value can be injected downstream if needed