退出Firebase中的应用后如何维护用户会话
我有一个使用Firebase作为后端的应用。 我的应用程序使用简单的电子邮件和密码登录实现Firebase-Authentication API进行身份validation。
除了一个问题,一切正常。 我想在用户关闭应用程序后维护用户会话。
FIRAuth.auth()?currentUser? 拥有适用于当前用户的所有用户属性(例如:uid,email,token等…)。 我注意到的问题是FIRAuth.auth()?currentUser? 不持久。 因此,在退出应用程序并再次启动后,它将返回null。
我不想在用户每次打开应用程序再次登录时询问用户。 有没有解决的办法?
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对象不处于中间状态 – 例如初始化 – 当您获得当前用户时。
在我自己的应用程序中,我使用两者。 如果用户不存在第一种方法,则移动到第二种方法,如果失败,则显示登录/注册屏幕。
FirAuth已更名为Auth
请使用最新的Firebase pod
- 如何在Swift 3中从webservice创buildJson响应的模型类
- 修复使用AVMutableComposition拼接(合并)video时的方向
- animationUITextField子类的位置时文本跳转
- 如何根据运行时系统iOS版本覆盖方法?
- iOS Swift领域同步问题
- locking方向不适用于ipad ios 8 swift xcode 6.2
- Xcode 7构建失败:ld:找不到-lGoogleAnalyticsServices的库
- 如何解决** mach_vm_map(size = 8388608)失败(错误代码= 3)***错误:无法分配区域错误
- 如何在Swift中制作Web爬虫