Как мне проверить, что текущий FirebaseUser существует? - PullRequest
2 голосов
/ 30 июня 2019

Как проверить, что FirebaseAuth.instance.currentUser() все еще существует в Аутентификации Firebase (на стороне сервера)?

Я удалил пользователя в моей консоли Firebase, но FirebaseAuth.instance.currentUser по-прежнему возвращает пользователя.

Итак, как мне проверить, что (await FirebaseAuth.instance.currentUser()).uid все еще находится в моем списке аутентификации в консоли Firebase?

Ответы [ 2 ]

4 голосов
/ 30 июня 2019

Вы можете использовать reload метод FirebaseUser.

final FirebaseUser firebaseUser = await FirebaseAuth.instance.currentUser();
await firebaseUser.reload();

// This should print `true` if the user is deleted in the Firebase Console.
print(await FirebaseAuth.instance.currentUser() == null);

Если ваш пользователь удален в консоли Firebase (или отключен), и вы вызываете reload для пользователя во Flutter, то при следующем вызове currentUser он должен вернуть значение null, т. Е. Нет аутентифицированных пользователей на этом устройство.

0 голосов
/ 30 июня 2019

с использованием углов,

isLoggedIn() {
   return this.afAuth.authState.pipe(first())
}

doSomething() {
  isLoggedIn().pipe(
    tap(user => {
      if (user) {
        // do something
      } else {
        // do something else
      }
    })
  )
  .subscribe()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...