"""Static bearer-key authentication.""" import secrets from fastapi import Request from .config import Settings from .errors import Unauthorized def require_key(request: Request, settings: Settings) -> None: header = request.headers.get("authorization", "") scheme, _, token = header.partition(" ") expected = settings.adapter_api_key if not expected or scheme.lower() != "bearer" or not secrets.compare_digest(token, expected): raise Unauthorized()