Verwaltungsseite: kein separater dritter Code mehr, sondern derselbe wie beim normalen Login
Fix für gemeldetes Problem: VanVans Code funktionierte nicht auf der Verwaltungsseite. Ursache war ein dritter, komplett separater, gemeinsamer Code (6GAM4AST), den sich niemand gemerkt hatte — VanVan gab stattdessen ihren normalen persönlichen Zugangscode ein, der dort aber nicht galt. Jetzt auf ausdrücklichen Wunsch vereinheitlicht: die Verwaltungsseite prüft denselben persönlichen Code wie der normale Seitenzugang (SITE_ACCESS_CODE_QCIGA/_VANVAN). Die tägliche Neueingabe-Pflicht bleibt bestehen (eigene Sitzung mit 24h statt 90 Tagen Gültigkeit) — nur der geprüfte Code ist jetzt kein separater dritter mehr. Das alte Secret VERWALTUNG_ACCESS_CODE wird nicht mehr verwendet. Lokal mit wrangler pages dev end-to-end getestet (beide Codes + alter Code korrekt abgelehnt). Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
850aed2f9e
commit
c1504bef92
@@ -1,22 +1,22 @@
|
||||
/* =====================================================================
|
||||
functions/_shared/verwaltung-auth.js — ZWEITE, ZUSÄTZLICHE Zugangsschranke NUR für
|
||||
/verwaltung/ + /api/verwaltung/* — auf ausdrücklichen Wunsch: ein einziger, gemeinsamer,
|
||||
FESTER Code (VERWALTUNG_ACCESS_CODE), den nur qciga und VanVan kennen, unabhängig vom
|
||||
normalen 90-Tage-Seitenzugang (siehe functions/_shared/auth.js). Wer die Bestellübersicht
|
||||
öffnen will, braucht also BEIDE Codes — den normalen Seitenzugang UND diesen hier.
|
||||
|
||||
WICHTIG: Der Code selbst ändert sich NIE von selbst (kein Zufalls-/Rotationscode, keine
|
||||
Tages-Ableitung) — nur die durch ihn erzeugte SITZUNG läuft nach 24 Stunden ab. Dadurch
|
||||
muss derselbe, unveränderte Code einmal täglich neu eingegeben werden, statt dauerhaft
|
||||
gültig zu bleiben (auf ausdrücklichen Wunsch: "ein fester Code, der aber jeden Tag einmal
|
||||
eingegeben werden muss").
|
||||
/verwaltung/ + /api/verwaltung/*, unabhängig vom normalen 90-Tage-Seitenzugang (siehe
|
||||
functions/_shared/auth.js). Wer die Bestellübersicht öffnen will, braucht also eine gültige
|
||||
Sitzung auf BEIDEN Ebenen — die Prüfung des eingegebenen Codes selbst läuft dabei nicht hier,
|
||||
sondern in handleVerwaltungAuth() in functions/_middleware.js (dort wird GENAU DERSELBE
|
||||
persönliche Code wie beim normalen Seitenzugang akzeptiert, SITE_ACCESS_CODE_QCIGA/_VANVAN —
|
||||
ursprünglich gab es hier einen dritten, separaten Code, der aber auf ausdrücklichen Wunsch
|
||||
nach echter Verwirrung bei VanVan am 04.08.2026 wieder entfernt wurde). Diese Datei kümmert
|
||||
sich nur noch um die SITZUNG danach: die läuft absichtlich schon nach 24 Stunden ab (statt
|
||||
90 Tage wie beim normalen Zugang), wodurch derselbe Code hier täglich neu eingegeben werden
|
||||
muss.
|
||||
|
||||
Bewusst als eigene, kleine Kopie der HMAC-Signaturlogik statt geteiltem Code mit auth.js
|
||||
(gleiches Prinzip wie bei customer-auth.js) — ein Leck bei einer Sitzungsart darf nie die
|
||||
andere gefährden. Eigenes Geheimnis (VERWALTUNG_SESSION_SECRET), eigenes Cookie, eigener
|
||||
einzelner Code (VERWALTUNG_ACCESS_CODE) statt getrennter Codes pro Person — hier reicht ein
|
||||
gemeinsamer Code, weil es nur um diese eine zusätzliche Hürde geht, nicht um die Anzeige
|
||||
einer rollenabhängigen Vorschau wie beim normalen Seitenzugang. ===================================================================== */
|
||||
andere gefährden. Eigenes Geheimnis (VERWALTUNG_SESSION_SECRET), eigenes Cookie — auch wenn
|
||||
der geprüfte CODE jetzt derselbe wie beim normalen Zugang ist, bleibt die SITZUNG technisch
|
||||
komplett getrennt (anderes Cookie, andere Gültigkeitsdauer, eigene Signatur).
|
||||
===================================================================== */
|
||||
|
||||
export const VERWALTUNG_COOKIE_NAME = "vandiy_verwaltung_session";
|
||||
export const VERWALTUNG_SESSION_STUNDEN = 24;
|
||||
|
||||
Reference in New Issue
Block a user