Rueckmeldung 22.08.2026: "ich hab auf der verwaltungs seite 2 mal dass ich
den zugangscode eingeben muss und vanvan auch, ich will es nur einmal
eingeben muessen." Berechtigt.
Die Zugangswand hat serverseitig laengst geprueft, WER da ist -- Dogfather
oder VanVan, laut Masterplan S.4 beide gleichberechtigte
Volladministratoren. Ein zweites Passwort danach bringt keinen
zusaetzlichen Schutz, es kostet nur jedes Mal Zeit.
Warum es nicht einfach "Cookie mitschicken" ist: Die Verwaltungsdaten
liegen hinter postfach.dogfather-universe.com, einem ANDEREN Rechnernamen.
Das Sitzungs-Cookie gilt dort nicht -- so sind Cookies gebaut, und das ist
gut so.
Loesung: Die Zugangswand stellt unter /webdesign/api-ausweis einen
kurzlebigen, signierten Ausweis aus, den die interne API anerkennt.
- 15 Minuten gueltig, die Seite holt bei Bedarf still einen neuen
- traegt bereich="wd-admin", damit ein Sitzungs-Token der Zugangswand
hier NICHT durchgeht und umgekehrt
- nur mit gueltiger Zugangssitzung zu bekommen
- gilt AUSSCHLIESSLICH fuer die /webdesign-Endpunkte. Postfach,
Bewerbungen, Supporter und Teamverwaltung bleiben unberuehrt
Fehlt WEBDESIGN_API_SECRET auf einer der beiden Seiten, gilt kein Ausweis
und die Verwaltung fragt wie bisher nach dem Team-Code. Ein fehlender
Konfigurationswert darf niemals eine Tuer oeffnen -- nur eine schliessen.
Genau das prueft der letzte Testfall.
Bei einem 401 wird EINMAL still ein neuer Ausweis geholt und die Anfrage
wiederholt, statt jemanden mitten im Arbeiten rauszuwerfen.
10/10 Tests, darunter: gefaelschte Signatur, fremdes Geheimnis,
abgelaufen, falscher Bereich, erfundene Rolle.
Co-Authored-By: Claude Opus 5 <[email protected]>
51 lines
2.5 KiB
Bash
51 lines
2.5 KiB
Bash
# Vorlage — echte Werte kommen in eine eigene ".env"-Datei (nie committen).
|
|
|
|
PORT=4100
|
|
|
|
# Zugangscode-Schranke — gleiche Codes wie beim bisherigen Cloudflare-Worker möglich, oder neu.
|
|
SITE_ACCESS_SECRET=
|
|
SITE_ACCESS_CODE_DOGI=
|
|
SITE_ACCESS_CODE_VANVAN=
|
|
SITE_ACCESS_CODE_DIENE=
|
|
|
|
# Automatischer öffentlicher Start (21.08.2026): ab diesem Zeitpunkt lässt
|
|
# gate.js JEDEN durch, ganz ohne Neustart/manuellen Eingriff -- die Codes
|
|
# oben bleiben bis dahin unverändert nötig. ISO-Format MIT Zeitzone, sonst
|
|
# wird der Wert als UTC statt als Ortszeit gelesen. Leer lassen = kein
|
|
# automatischer Start, die Schranke bleibt dauerhaft aktiv.
|
|
# Beispiel (21 Uhr deutscher Sommerzeit): 2026-08-21T21:00:00+02:00
|
|
SITE_PUBLIC_LAUNCH_AT=
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Webdesign-Bereich (/webdesign), 22.08.2026 — eigener Zugangsschutz.
|
|
# Bewusst UNABHAENGIG von SITE_PUBLIC_LAUNCH_AT oben: der oeffentliche Start
|
|
# des Universe darf diesen Bereich nicht mit aufsperren.
|
|
# ---------------------------------------------------------------------------
|
|
# Status: entwurf | vorabpruefung | freigegeben
|
|
# entwurf = komplett dicht, auch mit richtigem Code kein Zugang
|
|
# vorabpruefung = Zugang nur ueber die persoenlichen Codes (Standard)
|
|
# freigegeben = oeffentliche Seiten frei; die Verwaltung bleibt geschuetzt
|
|
WEBDESIGN_STATUS=vorabpruefung
|
|
|
|
# Leer lassen = die SITE_ACCESS_CODE_*-Codes von oben gelten auch hier
|
|
# (so eingerichtet auf Wunsch vom 22.08.2026). Wird hier spaeter ein eigener
|
|
# Wert eingetragen, gilt NUR noch dieser -- damit laesst sich der
|
|
# Webdesign-Zugang getrennt aendern oder entziehen, ohne den Universe-Zugang
|
|
# anzufassen.
|
|
WEBDESIGN_CODE_DOGI=
|
|
WEBDESIGN_CODE_VANVAN=
|
|
# Eigenes Signatur-Geheimnis fuer die Webdesign-Sitzung. Leer lassen = es
|
|
# wird SITE_ACCESS_SECRET benutzt. Ein Universe-Cookie funktioniert hier
|
|
# trotzdem nicht (die Sitzung traegt zusaetzlich bereich="webdesign").
|
|
WEBDESIGN_ACCESS_SECRET=
|
|
|
|
# Gemeinsames Geheimnis mit dem internen Dienst (22.08.2026).
|
|
# Damit stellt die Zugangswand einen kurzlebigen Ausweis aus, mit dem die
|
|
# Verwaltung OHNE zweite Anmeldung auf die interne API zugreifen darf --
|
|
# wer durch die Zugangswand kam, ist bereits als Dogfather oder VanVan
|
|
# geprueft. Muss in server-internal/.env EXAKT gleich stehen.
|
|
# Leer lassen = kein Ausweis, die Verwaltung fragt wie bisher nach dem
|
|
# Team-Code. Ein fehlender Wert darf nie eine Tuer oeffnen, nur eine
|
|
# schliessen.
|
|
WEBDESIGN_API_SECRET=
|