Olá, Julia! Tudo bem?
O comportamento que você está observando é esperado no Firebase Authentication. Por questões de segurança, o Firebase não revela se um e-mail está cadastrado ou não no sistema ao enviar um e-mail de redefinição de senha. Isso é feito para evitar que pessoas mal-intencionadas possam verificar a existência de e-mails no banco de dados.
No entanto, você pode melhorar a experiência do usuário ao fornecer um feedback mais claro. Uma abordagem comum é sempre exibir uma mensagem genérica informando que, se o e-mail estiver cadastrado, um link de redefinição será enviado. Seria algo como:
Future<String?> forgotPassword({required String email}) async {
try {
await _firebaseAuth.sendPasswordResetEmail(email: email);
return 'Se o e-mail estiver cadastrado, um link de redefinição de senha será enviado.';
} on FirebaseAuthException catch (e) {
if (e.code == 'invalid-email') {
return 'O e-mail está inválido, verifique suas credenciais.';
}
return 'Ocorreu um erro ao tentar enviar o e-mail de redefinição de senha.';
}
}
Dessa forma, você está fornecendo um feedback útil sem comprometer a segurança do sistema.
Espero ter ajudado. Em caso de dúvidas, conte com o fórum :)
Um abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!