From 65ec9466eba903fabc91bfd44c683e743f5a6ecd Mon Sep 17 00:00:00 2001 From: Bjoern Welker Date: Fri, 30 Jan 2026 12:12:40 +0100 Subject: [PATCH] Use APP_API_KEY for order auth --- README.md | 3 +-- wawi/app.py | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 06ea4fe..b0cc7a9 100644 --- a/README.md +++ b/README.md @@ -56,10 +56,9 @@ Wenn du diese Datei auf einem Webserver auslieferst, stelle sicher, dass die WaW - `SMTP_USER` / `SMTP_PASS` – SMTP Login - `SMTP_FROM` – Absender (z. B. `bestand@hellas.welker.me`) - `ORDER_TO` – Empfänger, mehrere per Komma -- `ORDER_API_KEY` – optionaler Key für Bestell‑Endpoint `/wawi/order` **Optional** -- `APP_API_KEY` – API‑Key für direkten Zugriff auf `/wawi/api/bestand` +- `APP_API_KEY` – gemeinsamer API‑Key für `/wawi/api/bestand` **und** `/wawi/order` - `COOKIE_SECURE` – `1` (default) setzt Secure‑Cookie, `0` deaktiviert für http ## Deployment (systemd + Gunicorn) diff --git a/wawi/app.py b/wawi/app.py index fd183d5..4c1deaf 100644 --- a/wawi/app.py +++ b/wawi/app.py @@ -216,7 +216,7 @@ def api_key_required(fn): # Schützt API‑Endpoints per X-API-Key oder ?key= Parameter. @wraps(fn) def wrapper(*args, **kwargs): - expected = os.environ.get("APP_API_KEY", "") + expected = os.environ.get("APP_API_KEY", "") if not expected: return jsonify({"error": "API key not configured"}), 500 provided = request.headers.get("X-API-Key") or request.args.get("key") or "" @@ -561,7 +561,7 @@ def order(): if rate_limited(ip): return jsonify({"error": "Zu viele Anfragen."}), 429 - expected_key = os.environ.get("ORDER_API_KEY", "") + expected_key = os.environ.get("APP_API_KEY", "") if expected_key: provided = request.headers.get("X-Order-Key") or request.args.get("key") or "" if provided != expected_key: