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

1import hmac 

2from typing import Annotated 

3 

4from fastapi import Depends, HTTPException 

5from fastapi.security import APIKeyHeader 

6 

7from app.config import get_settings 

8 

9api_key_header = APIKeyHeader(name="token") 

10 

11 

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