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

标签 ios swift firebase firebase-authentication

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

我需要一些帮助来理解给定的文章。它是关于“身份验证状态持久性”的。这是否意味着,如果该值设置为 local,用户即使在关闭应用程序后也将保持登录状态?换句话说,他是否能够注册一次并保持登录状态,直到他决定退出 - 即使他处于离线状态?

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

最佳答案

第一:您提供的链接引用了 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")
} 

关于ios - Swift - Firebase 身份验证状态持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55941736/

相关文章:

ios - 在 'ViewController' 类型的对象上找不到属性引用?

ios - NSString 到 Emoji Unicode

iphone - 扩展 UITextView

iphone - 为什么我的 cocos2d box2d 项目中的第二个球没有弹跳?

swift - 如何用本地构建的 github 代码替换 XCode 中默认的 Swift 工具链?

java - 如何使用 Android 从 Firebase 迭代检索数据?

ios - 我应该为 Dictaphone iOS 应用程序使用什么音频格式?

ios - 由于 UI 编码,我的 ViewController 变得非常大

arrays - 编译 Swift 源文件在大型数组reduce-combine + 表达式上挂起

javascript - 我可以在没有通知权限的情况下使用 firebase 云消息传递吗? (Javascript)