Implementierung Wissensmanagement

Dieser Commit ist enthalten in:
HG
2025-12-30 22:49:56 +00:00
committet von Server Deploy
Ursprung 9bf298c26b
Commit 395598c2b0
51 geänderte Dateien mit 7598 neuen und 32 gelöschten Zeilen

Datei anzeigen

@ -19,11 +19,14 @@ class AuthManager {
// Initialize authentication state
async init() {
const token = api.getToken();
console.log('[Auth] init() - Token exists:', !!token);
if (token) {
try {
// Verify token by making a request
console.log('[Auth] Verifying token...');
const users = await api.getUsers();
console.log('[Auth] Token valid, users loaded');
this.isAuthenticated = true;
// Get current user from stored data
@ -35,11 +38,13 @@ class AuthManager {
return true;
} catch (error) {
// Token invalid
console.log('[Auth] Token invalid, logging out');
this.logout();
return false;
}
}
console.log('[Auth] No token found');
return false;
}
@ -471,8 +476,18 @@ class SessionTimerHandler {
}
}
} else if (response.status === 401) {
// Token ungültig - ausloggen
this.auth.logout();
// Token ungültig - aber nur ausloggen wenn kein neuer Login stattfand
// (Race-Condition: Alter Refresh-Request kann 401 zurückgeben nachdem
// ein neuer Login erfolgreich war)
const currentToken = localStorage.getItem('auth_token');
if (currentToken === token) {
// Gleicher Token, wirklich ungültig, ausloggen
console.log('[Auth] Refresh returned 401, logging out');
this.auth.logout();
} else {
// Token hat sich geändert (neuer Login oder bereits ausgeloggt)
console.log('[Auth] Refresh 401 ignored - token changed (new login occurred)');
}
}
} catch (error) {
console.error('Session refresh error:', error);