检查Firebase登录状态

时间:2019-01-11 15:36:04

标签: ios swift firebase firebase-authentication

我正在使用Firebase,并且正在使用3个ViewController制作简单的应用程序。首先-注册,第二-登录,然后第三-个人资料。我已经进行了注册和登录。我不知道如何检查用户登录状态。概要文件视图控制器是初始视图控制器。在打开应用程序时如何检查用户登录状态以及是否未登录用户,将其定向到登录页面。

2 个答案:

答案 0 :(得分:2)

要检查当前用户的登录状态,您可以直接通过以下方式获取它:

Auth.auth().currentUser

您通常会在需要知道当前是否有用户以及用户是谁的同步代码中使用此代码。

您通常还希望响应当前用户的更改(实际上,这是更常见的用法)。为此,您可以这样做:

Auth.auth().addStateDidChangeListener { (auth, user) in
  // ...
}

每当身份验证状态更改时,就会调用其中的代码。因此,当应用程序启动且先前有一个登录用户时,该用户通过验证后便会触发。通常,这是更新您的UI的好地方,例如将未经身份验证的用户引导到您应用的登录视图。

有关更多信息,请参见Firebase documentation on getting the currently signed in user

答案 1 :(得分:0)

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
    // User is logged in, now you can access uesr's properties as followings
    String name = user.getDisplayName();
    String email = user.getEmail();
    Uri photoUrl = user.getPhotoUrl();
} else {
    // User is not logged in, so redirect the user in hrere.
}