Browse Source

debug: add auth flow logging to diagnose production redirect loop

Made-with: Cursor
pull/6453/head
Priyanka Punukollu 1 month ago
parent
commit
aaa323caa1
  1. 9
      agent/chat_ui.html
  2. 6
      agent/login.html

9
agent/chat_ui.html

@ -5525,9 +5525,15 @@
// ── Auth guard — redirect to login if no token ── // ── Auth guard — redirect to login if no token ──
console.log('[AUTH] checking token...');
const _token = localStorage.getItem('gf_token'); const _token = localStorage.getItem('gf_token');
console.log('[AUTH] token exists:', !!_token);
console.log('[AUTH] token value:', _token ? _token.substring(0, 20) + '...' : 'null');
if (!_token) { if (!_token) {
console.log('[AUTH] no token — redirecting to login');
window.location.replace('/login'); window.location.replace('/login');
} else {
console.log('[AUTH] token found — proceeding');
} }
// ── Load user profile from localStorage (set at login) ── // ── Load user profile from localStorage (set at login) ──
@ -5684,6 +5690,7 @@
}); });
if (res.status === 401) { if (res.status === 401) {
console.log('[AUTH] 401 response — clearing token and redirecting to login');
localStorage.removeItem('gf_token'); localStorage.removeItem('gf_token');
localStorage.removeItem('gf_user_name'); localStorage.removeItem('gf_user_name');
localStorage.removeItem('gf_user_email'); localStorage.removeItem('gf_user_email');
@ -8745,11 +8752,13 @@
// ── Sign out ── // ── Sign out ──
document.getElementById('logout-btn').addEventListener('click', () => { document.getElementById('logout-btn').addEventListener('click', () => {
console.log('[SIGNOUT] clearing token...');
localStorage.removeItem('gf_token'); localStorage.removeItem('gf_token');
localStorage.removeItem('gf_user_name'); localStorage.removeItem('gf_user_name');
localStorage.removeItem('gf_user_email'); localStorage.removeItem('gf_user_email');
localStorage.removeItem(STORAGE_KEY); localStorage.removeItem(STORAGE_KEY);
// Clear session-specific memory (keep watchlist / memory by default — user owns those) // Clear session-specific memory (keep watchlist / memory by default — user owns those)
console.log('[SIGNOUT] redirecting to login...');
window.location.replace('/login'); window.location.replace('/login');
}); });

6
agent/login.html

@ -250,7 +250,9 @@
const errorEl = document.getElementById('error-msg'); const errorEl = document.getElementById('error-msg');
// Redirect if already logged in // Redirect if already logged in
console.log('[LOGIN] page load — checking token');
if (localStorage.getItem('gf_token')) { if (localStorage.getItem('gf_token')) {
console.log('[LOGIN] token exists — redirecting to chat');
window.location.replace('/'); window.location.replace('/');
} }
@ -273,6 +275,7 @@
setLoading(true); setLoading(true);
hideError(); hideError();
console.log('[LOGIN] submitting credentials...');
try { try {
const res = await fetch('/auth/login', { const res = await fetch('/auth/login', {
method: 'POST', method: 'POST',
@ -281,6 +284,8 @@
}); });
const data = await res.json(); const data = await res.json();
console.log('[LOGIN] response status:', res.status);
console.log('[LOGIN] saving token:', data.token ? 'yes' : 'no');
if (!data.success) { if (!data.success) {
showError(data.message || 'Invalid credentials.'); showError(data.message || 'Invalid credentials.');
return; return;
@ -289,6 +294,7 @@
localStorage.setItem('gf_token', data.token); localStorage.setItem('gf_token', data.token);
localStorage.setItem('gf_user_name', data.name); localStorage.setItem('gf_user_name', data.name);
localStorage.setItem('gf_user_email', data.email); localStorage.setItem('gf_user_email', data.email);
console.log('[LOGIN] token saved, redirecting...');
window.location.replace('/'); window.location.replace('/');
} catch { } catch {
showError('Could not reach the server. Please try again.'); showError('Could not reach the server. Please try again.');

Loading…
Cancel
Save