Use APP_API_KEY for order auth

This commit is contained in:
2026-01-30 12:12:40 +01:00
parent ec2d8945b3
commit 65ec9466eb
2 changed files with 3 additions and 4 deletions

View File

@@ -56,10 +56,9 @@ Wenn du diese Datei auf einem Webserver auslieferst, stelle sicher, dass die WaW
- `SMTP_USER` / `SMTP_PASS` SMTP Login - `SMTP_USER` / `SMTP_PASS` SMTP Login
- `SMTP_FROM` Absender (z. B. `bestand@hellas.welker.me`) - `SMTP_FROM` Absender (z. B. `bestand@hellas.welker.me`)
- `ORDER_TO` Empfänger, mehrere per Komma - `ORDER_TO` Empfänger, mehrere per Komma
- `ORDER_API_KEY` optionaler Key für BestellEndpoint `/wawi/order`
**Optional** **Optional**
- `APP_API_KEY` APIKey für direkten Zugriff auf `/wawi/api/bestand` - `APP_API_KEY` gemeinsamer APIKey für `/wawi/api/bestand` **und** `/wawi/order`
- `COOKIE_SECURE` `1` (default) setzt SecureCookie, `0` deaktiviert für http - `COOKIE_SECURE` `1` (default) setzt SecureCookie, `0` deaktiviert für http
## Deployment (systemd + Gunicorn) ## Deployment (systemd + Gunicorn)

View File

@@ -216,7 +216,7 @@ def api_key_required(fn):
# Schützt APIEndpoints per X-API-Key oder ?key= Parameter. # Schützt APIEndpoints per X-API-Key oder ?key= Parameter.
@wraps(fn) @wraps(fn)
def wrapper(*args, **kwargs): def wrapper(*args, **kwargs):
expected = os.environ.get("APP_API_KEY", "") expected = os.environ.get("APP_API_KEY", "")
if not expected: if not expected:
return jsonify({"error": "API key not configured"}), 500 return jsonify({"error": "API key not configured"}), 500
provided = request.headers.get("X-API-Key") or request.args.get("key") or "" provided = request.headers.get("X-API-Key") or request.args.get("key") or ""
@@ -561,7 +561,7 @@ def order():
if rate_limited(ip): if rate_limited(ip):
return jsonify({"error": "Zu viele Anfragen."}), 429 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: if expected_key:
provided = request.headers.get("X-Order-Key") or request.args.get("key") or "" provided = request.headers.get("X-Order-Key") or request.args.get("key") or ""
if provided != expected_key: if provided != expected_key: