Swift-Firebase身份验证状态持久性

时间:2019-05-01 19:38:27

标签: ios swift firebase firebase-authentication

我目前正在考虑在我的Swift项目中实现Firebase Auth,因此我一直在阅读一些文章。 -即this one.

我需要一些帮助来理解本文。这与“身份验证状态持久性”有关。这是否意味着,如果将值设置为local,即使关闭应用程序,用户仍将保持登录状态?换句话说,他是否可以注册一次并保持登录状态,直到他决定注销-即使他处于离线状态?

比方说,用户决定不创建帐户并使用“匿名身份验证”登录(在这种情况下,我认为这是登录类型)-他会永远保持登录状态还是存在危险离线或关闭应用程序时数据丢失的问题?

1 个答案:

答案 0 :(得分:0)

首先:您提供的链接引用了javascript firebase文档

第二: IOS唯一可用的功能是可以使用

创建匿名用户。
Auth.auth().signInAnonymously() { (authResult, error) in
  // ...
     let user = authResult.user
     let isAnonymous = user.isAnonymous  // true
     let uid = user.uid
}

,您可以将其转换为永久用户支票This

最后:该用户是普通用户还是匿名用户,登录后,需要选中此选项以在每次打开应用时显示登录/主屏幕

if FIRAuth.auth()?.currentUser != nil {
   print("user exists")
}
else {
   print("No user")
} 

并且该用户仍然存在,除非您退出,无论是否关闭该应用程序

如果您使用的是最新的Firebase版本,则FIRAuth现在为Auth

if Auth.auth()?.currentUser != nil {
   print("user exists")
}
else {
   print("No user")
}