from fastapi import Depends, HTTPException, status from fastapi.security import APIKeyHeader from fastapi.security import HTTPBasic, HTTPBasicCredentials from config import conf import logging as log security = HTTPBasic() api_key_header = APIKeyHeader(name="X-API-KEY", auto_error=False) def verify_token_admin(token: str = Depends(api_key_header)): if token != conf.token.admin: log.warning("Invalid token") raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid authentication credentials", headers={"WWW-Authenticate": "Bearer"}, ) def verify_user_pwd(credentials: HTTPBasicCredentials = Depends(security)): if ( credentials.username != conf.admin_user.login or credentials.password != conf.admin_user.pwd ): log.warning("Invalid credentials") raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid credentials", headers={"WWW-Authenticate": "Basic"}, )