File size: 462 Bytes
9b0f62b
 
d866e5b
9b0f62b
 
 
9ea68b1
d866e5b
9ea68b1
d866e5b
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
import os
from fastapi import HTTPException, Security
from fastapi.security import HTTPBearer

security = HTTPBearer()

API_KEYS_STR = os.getenv("API_KEYS", "")
VALID_KEYS = set(key.strip() for key in API_KEYS_STR.split(",") if key.strip())

async def verify_api_key(credentials: str = Security(security)):
    if credentials.credentials not in VALID_KEYS:
        raise HTTPException(status_code=403, detail="Invalid API Key")
    return credentials.credentials