Kundenansicht: Waechter-Korrekturen aus dem Abschlussreview

- Pfade ohne Ruecksicht auf Gross-/Kleinschreibung pruefen (/API/news umging die Sperre)
- Tab mit Kennung, Cookie ist keine Kundenansicht mehr -> 409 statt fremder Daten
- Cookie lebt 1 h laenger als die Ansicht, damit 'abgelaufen' gemeldet und protokolliert wird

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-01 19:54:50 +00:00
1 parent 0ccdde1c28
commit a64a996291
4 files changed
+39 -6

No files matched your search

+4 -1
View File
@@ -14,6 +14,7 @@ import {
* endet nach 2 Stunden. Sitzungen ohne viewId stammen aus "Als Kunde ansehen" im alten Admin-Panel.
*/
export const KUNDENANSICHT_TTL_MS = 2 * 60 * 60 * 1000
const COOKIE_GRACE_MS = 60 * 60 * 1000
export const VIEW_EXPIRED_MESSAGE = 'Die Kundenansicht ist abgelaufen. Bitte im Ticketsystem erneut öffnen.'
export const isKundenansicht = (session) => Boolean(session?.viewAs && session.viewId)
@@ -35,7 +36,9 @@ export async function startKundenansicht(res, { staff, customer, now = Date.now(
name: customer.name || '',
email: customer.email || '',
}
setPortalSession(res, session, { maxAgeMs: KUNDENANSICHT_TTL_MS })
// Das Cookie lebt eine Stunde laenger als die Ansicht: so meldet der Server nach 2 Stunden "abgelaufen" (Hinweis im
// Tab, Protokolleintrag), statt dass der Browser das Cookie still verwirft
setPortalSession(res, session, { maxAgeMs: KUNDENANSICHT_TTL_MS + COOKIE_GRACE_MS })
await setKundenansichtPreview(res, session, KUNDENANSICHT_TTL_MS / 1000)
return session
}