fix(auth): empty ADMIN_PASSWORD in .env now falls back to admin; strip passwords

Made-with: Cursor
This commit is contained in:
Андрей Бобырев
2026-04-25 00:40:47 +03:00
parent a2e565d615
commit e1d6e6bb81
3 changed files with 7 additions and 5 deletions

View File

@@ -11,7 +11,8 @@ STORE_FILE = DATA_DIR / "store.json"
HOST = os.getenv("HOST", "0.0.0.0")
PORT = int(os.getenv("PORT", "8001"))
ADMIN_PASSWORD = os.getenv("ADMIN_PASSWORD", "admin")
# Пустая строка в .env (ADMIN_PASSWORD=) не даёт дефолт через getenv — явно подставляем admin
ADMIN_PASSWORD = (os.getenv("ADMIN_PASSWORD") or "admin").strip()
KEENETIC_LOGIN = os.getenv("KEENETIC_LOGIN", "admin")
KEENETIC_PASSWORD = os.getenv("KEENETIC_PASSWORD", "")
KEENETIC_LOGIN = (os.getenv("KEENETIC_LOGIN") or "admin").strip()
KEENETIC_PASSWORD = (os.getenv("KEENETIC_PASSWORD") or "").strip()

View File

@@ -24,7 +24,7 @@ TPL = Path(__file__).resolve().parent.parent / "templates"
def _chk(pwd: str) -> None:
if config.ADMIN_PASSWORD and pwd != config.ADMIN_PASSWORD:
if (pwd or "").strip() != config.ADMIN_PASSWORD:
raise HTTPException(401, "Неверный пароль")
@@ -44,7 +44,7 @@ async def index():
@app.post("/api/auth")
async def api_auth(b: AuthBody):
if config.ADMIN_PASSWORD and b.password == config.ADMIN_PASSWORD:
if (b.password or "").strip() == config.ADMIN_PASSWORD:
return {"ok": True}
raise HTTPException(401, "Wrong password")