如何在退出Firebase中的应用后维护用户会话

时间:2016-05-31 03:47:08

标签: ios swift firebase firebase-authentication

我有一个使用Firebase作为后端的应用。我的应用程序使用简单的电子邮件和密码登录实现Firebase-Authentication API以进行身份​​验证。

除了一个问题,一切正常。我想在用户关闭App后维护用户会话。

FIRAuth.auth()?currentUser?拥有适用于当前用户的所有用户属性(例如:uid,email,token等...)。我注意到的问题是FIRAuth.auth()?currentUser?不是持久的。因此,退出应用程序并再次启动后,它将返回null。

我不想在用户每次打开应用再次登录时询问用户。有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:34)

Firebase应该已经通过应用启动跟踪您的用户。

您的问题可能是直接使用FIRAuth.auth()?.currentUser?,而不是推荐的方法。

  

获取当前用户的推荐方法是设置监听器   在Auth对象上:

FIRAuth.auth()?.addStateDidChangeListener { auth, user in
  if let user = user {
    // User is signed in.
  } else {
    // No user is signed in.
  }
}
     

通过使用侦听器,可以确保Auth对象不在   中间状态 - 例如初始化 - 当你获得当前状态时   用户。

在我自己的应用程序中,我同时使用它们。如果用户不存在第一种方法,则移动到第二种方法,如果失败,则显示登录/注册屏幕。

答案 1 :(得分:-1)

FirAuth已重命名为Auth

请使用最新的Firebase pod