Skip to content

Session not restored after reload with correct storageKey and token present (v2.51.0 #1503

@maykon-johnsonn

Description

@maykon-johnsonn

Estou usando @supabase/supabase-js v2.51.0 em um app React + Vite.
O client é criado apenas uma vez, assim:
import { createClient } from '@supabase/supabase-js';
export const supabase = createClient('https://eydlufrihlirdsvvowno.supabase.co', '', {
auth: {
autoRefreshToken: true,
persistSession: true,
detectSessionInUrl: false,
flowType: 'pkce',
}
});

O storageKey padrão é usado (sb-eydlufrihlirdsvvowno-auth-token).
O token é salvo corretamente no localStorage após login.
Problema
Após login, tudo funciona normalmente.
Após recarregar a página (reload), o evento onAuthStateChange: INITIAL_SESSION retorna null, mesmo com o token válido presente no localStorage.
O usuário é redirecionado para a tela de login, como se não estivesse autenticado.
O login manual funciona, mas o reload sempre volta para login.
Testado em build de produção (yarn build && yarn preview), aba anônima, browsers diferentes.
O código do AuthContext segue o padrão oficial do Supabase v2, usando apenas o listener de onAuthStateChange.
O que já foi tentado
Atualizar o SDK para a última versão.
Garantir que só existe um createClient.
Usar storageKey padrão.
Testar em diferentes navegadores e ambientes.
Limpar localStorage e refazer o fluxo.
Não há múltiplas instâncias do client.

useEffect(() => {
let mounted = true;
setIsLoading(true);
const { data: listener } = supabase.auth.onAuthStateChange(async (event, session) => {
console.log('[Auth] Evento onAuthStateChange:', event, session);
if (event === 'INITIAL_SESSION') {
if (session && session.user) {
// ...restaura usuário...
} else {
// Nenhuma sessão encontrada
clearAuthState();
}
if (mounted) setIsLoading(false);
}
// ...SIGNED_IN/SIGNED_OUT...
});
return () => {
mounted = false;
listener?.subscription.unsubscribe();
};
}, [navigate, location.pathname]);

Image Image

Existe algum bug conhecido ou configuração extra para garantir a restauração automática da sessão no Supabase v2?
Alguma recomendação para contornar esse problema?
Obrigado!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions