This commit is contained in:
gpt-engineer-app[bot]
2026-01-15 23:15:04 +00:00
parent 53d4e97bf7
commit 65c2a78552
+12 -9
View File
@@ -136,9 +136,13 @@ export const tokenManager = {
return token; return token;
}, },
setToken: (token: string, expiresAt: string): void => { setToken: (token: string, expiresAt?: string | null): void => {
localStorage.setItem(TOKEN_KEY, token); localStorage.setItem(TOKEN_KEY, token);
localStorage.setItem(TOKEN_EXPIRY_KEY, expiresAt); if (expiresAt) {
localStorage.setItem(TOKEN_EXPIRY_KEY, expiresAt);
} else {
localStorage.removeItem(TOKEN_EXPIRY_KEY);
}
}, },
clearToken: (): void => { clearToken: (): void => {
@@ -242,8 +246,8 @@ export const api = {
}, false); // Login doesn't require auth }, false); // Login doesn't require auth
// Only store token if login is complete (no TOTP required) // Only store token if login is complete (no TOTP required)
if (response.token && response.expires_at && !response.requires_totp) { if (response.token && !response.requires_totp) {
tokenManager.setToken(response.token, response.expires_at); tokenManager.setToken(response.token, response.expires_at ?? null);
} }
return response; return response;
@@ -307,9 +311,8 @@ export const api = {
credentials: 'include', // Required for TOTP session tracking credentials: 'include', // Required for TOTP session tracking
}, false); }, false);
// Store token after successful TOTP verification if (response.token) {
if (response.token && response.expires_at) { tokenManager.setToken(response.token, response.expires_at ?? null);
tokenManager.setToken(response.token, response.expires_at);
} }
return response; return response;
@@ -400,8 +403,8 @@ export const api = {
}, false); }, false);
// Store token after successful passkey login // Store token after successful passkey login
if (response.token && response.expires_at) { if (response.token) {
tokenManager.setToken(response.token, response.expires_at); tokenManager.setToken(response.token, response.expires_at ?? null);
} }
return response; return response;