agentic.email/backend/app/deps/dns_setup_auth.py
2026-10-03 21:14:44 +05:30

28 lines
794 B
Python

import secrets
from fastapi import Depends, HTTPException, status
from fastapi.security import HTTPBasic, HTTPBasicCredentials
from app.config import get_settings
security = HTTPBasic()
async def require_dns_setup_auth(
credentials: HTTPBasicCredentials = Depends(security),
) -> None:
settings = get_settings()
username_ok = secrets.compare_digest(
credentials.username,
settings.dns_setup_username,
)
password_ok = secrets.compare_digest(
credentials.password,
settings.dns_setup_password,
)
if not (username_ok and password_ok):
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Invalid DNS setup credentials.",
headers={"WWW-Authenticate": "Basic"},
)