fix: navigateTo undefined + CSRF-Cookie Secure-Flag
- router.js: navigateTo() existierte nicht → ReferenceError nach fehlgeschlagenem auth.me(). Ersetzt durch navigate() + currentPath-Reset damit die Weiterleitung nicht durch den currentPath-Guard geblockt wird. - csrf.js: SESSION_SECURE=false wurde nicht berücksichtigt → CSRF-Cookie war über HTTP nicht für JS lesbar → alle schreibenden API-Calls nach Login scheiterten mit 403. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+4
-2
@@ -62,13 +62,15 @@ async function navigate(path, pushState = true) {
|
|||||||
const result = await auth.me();
|
const result = await auth.me();
|
||||||
currentUser = result.user;
|
currentUser = result.user;
|
||||||
} catch {
|
} catch {
|
||||||
navigateTo('/login', true);
|
currentPath = null; // Reset damit navigate('/login') nicht geblockt wird
|
||||||
|
navigate('/login');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!route.requiresAuth && currentUser && path === '/login') {
|
if (!route.requiresAuth && currentUser && path === '/login') {
|
||||||
navigateTo('/', true);
|
currentPath = null;
|
||||||
|
navigate('/');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,8 @@ function csrfMiddleware(req, res, next) {
|
|||||||
res.cookie('csrf-token', req.session.csrfToken, {
|
res.cookie('csrf-token', req.session.csrfToken, {
|
||||||
httpOnly: false,
|
httpOnly: false,
|
||||||
sameSite: 'strict',
|
sameSite: 'strict',
|
||||||
secure: process.env.NODE_ENV === 'production',
|
secure: process.env.SESSION_SECURE === 'false' ? false
|
||||||
|
: process.env.NODE_ENV === 'production',
|
||||||
maxAge: 1000 * 60 * 60 * 24 * 7, // 7 Tage (gleich wie Session)
|
maxAge: 1000 * 60 * 60 * 24 * 7, // 7 Tage (gleich wie Session)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user