Supabase Auth Session Not Persisting Across Page Refresh/Navigation

Issue: Session doesn't persist after browser refresh or direct URL navigation (e.g., typing /[ANY PAGE]) Setup: - React 18 + React Router v6 - @supabase/supabase-js (latest) - Vercel deployment Config:
createClient(url, key, {
auth: {
storage: localStorage,
persistSession: true,
autoRefreshToken: true,
detectSessionInUrl: true,
storageKey: 'sb-auth-token',
flowType: 'pkce'
}
})
createClient(url, key, {
auth: {
storage: localStorage,
persistSession: true,
autoRefreshToken: true,
detectSessionInUrl: true,
storageKey: 'sb-auth-token',
flowType: 'pkce'
}
})
AuthContext:
// On mount
supabase.auth.getSession().then(({ data: { session } }) => {
setSession(session);
setUser(session?.user);
});

// Listener
supabase.auth.onAuthStateChange((event, session) => {
setSession(session);
setUser(session?.user);
});
// On mount
supabase.auth.getSession().then(({ data: { session } }) => {
setSession(session);
setUser(session?.user);
});

// Listener
supabase.auth.onAuthStateChange((event, session) => {
setSession(session);
setUser(session?.user);
});
Problem: 1. Login works ✅ 2. Navigate via clicks works ✅
3. Refresh page → session lost ❌ 4. Type URL directly → session lost ❌ Debug: - sb-auth-token exists in localStorage with valid tokens - getSession() returns null after refresh despite valid localStorage - No console errors or CORS issues Tried: - persistSession: true - detectSessionInUrl: true - Both onAuthStateChange + getSession() - autoRefreshToken: true Project: lvgkbdnvvwptzjxygpmz
0 Replies
No replies yetBe the first to reply to this messageJoin

Did you find this page helpful?