FirebaseAuth текущий пользователь не возвращает ноль после вызова выхода? - PullRequest
0 голосов
/ 30 сентября 2018

Я пытаюсь выйти из системы и переключить виджеты, но после вызова следующей функции -

void logoutUser() async {
    await FirebaseAuth.instance.signOut();
}

Если я проверяю текущего пользователя, он возвращает объект пользователя, но с нулевым идентификатором -

FirebaseAuth.instance.currentUser()

Я пытаюсь выгнать пользователя в main.dart после выхода из системы, который проверяет, вошел ли пользователь в систему и загружает ли правильный виджет.Кто-нибудь знает, почему currentUser() не возвращает ноль после вызова signOut()?

1 Ответ

0 голосов
/ 30 сентября 2018

_auth.currentUser() вероятно возвращает анонимный объект FirebaseUser .Проверьте свойство isAnonymous.

Пример:

auth.currentUser().then((user) {
  if (user == null || user.isAnonymous) {
    // what will you do?
    return;
  }
  setState(() {
    _uid = user.uid;
  });
});

Тем не менее, я бы настоятельно рекомендовал отслеживать поток onAuthStateChanged вместо .Таким образом, вы будете проинформированы, когда пользователь войдет в систему или выйдет из нее немедленно.

Проверьте эту статью , она охватывает ее подробно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...