Coverage for backend / app / dependencies / auth.py: 100%
10 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-02 15:51 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-02 15:51 +0000
1import hmac
2from typing import Annotated
4from fastapi import Depends, HTTPException
5from fastapi.security import APIKeyHeader
7from app.config import get_settings
9api_key_header = APIKeyHeader(name="token")
12async def verify_api_key(token: Annotated[str, Depends(api_key_header)]) -> str:
13 if not hmac.compare_digest(token, get_settings().api_key.get_secret_value()):
14 raise HTTPException(status_code=403, detail="Invalid API key")
15 return token