Olá, Déborah.
Tudo bem?
Muito legal você ter implementado a funcionalidade de sair, precisamos só resolver esse problema com a navegação de volta para a tela de autenticação.
Com base no que você compartilhou, parece que a função de deslogar está funcionando corretamente, pois os logs do FirebaseAuth indicam um evento de deslogar. O problema parece estar na parte de redirecionar o usuário para a tela de autenticação após o deslogar.
No Flutter, quando você quer navegar entre as telas, você precisa usar o Navigator. O Navigator funciona como uma pilha, onde você pode empurrar (push) novas rotas (telas) para a pilha ou retirar (pop) rotas da pilha.
No seu caso, após o usuário deslogar, você precisa retirar todas as rotas acima da tela de autenticação na pilha, para que a tela de autenticação se torne a rota ativa. Para fazer isso, você pode usar o método popUntil
do Navigator, que retira rotas da pilha até que uma determinada condição seja atendida.
Aqui está um exemplo de como você pode fazer isso:
onTap: () async {
await AuthService().deslogar();
Navigator.of(context).popUntil((route) => route.isFirst);
},
Neste exemplo, route.isFirst
é a condição que verifica se a rota é a primeira na pilha (ou seja, a tela de autenticação). O método popUntil
continuará retirando rotas da pilha até que essa condição seja atendida.
Lembre-se de que isso irá funcionar se a tela de autenticação for a primeira rota na pilha do seu aplicativo. Se não for, você pode precisar ajustar a condição para se adequar à estrutura do seu aplicativo.
Se não conseguir resolver, compartilha o seu código aqui com a gente.
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.