Use APP_API_KEY for order auth
This commit is contained in:
@@ -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 Bestell‑Endpoint `/wawi/order`
|
|
||||||
|
|
||||||
**Optional**
|
**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
|
- `COOKIE_SECURE` – `1` (default) setzt Secure‑Cookie, `0` deaktiviert für http
|
||||||
|
|
||||||
## Deployment (systemd + Gunicorn)
|
## Deployment (systemd + Gunicorn)
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ def api_key_required(fn):
|
|||||||
# Schützt API‑Endpoints per X-API-Key oder ?key= Parameter.
|
# Schützt API‑Endpoints 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:
|
||||||
|
|||||||
Reference in New Issue
Block a user