swift - 持久用户身份验证 Firebase Swift

标签 swift firebase

您好,我正在尝试开始使用 Firebase 和 Swift,但在验证用户身份并使其在应用重新启动后保持不变时遇到一些问题。

我正在使用 Twitter authHelper,它在经过身份验证后会返回一个 FAuthData 对象,其中包含用户的 uid 和所有这些内容。

问题是,当我(或系统)终止应用程序时,所有身份验证都会消失,我需要重新登录,因为我没有存储“authData”对象。

我该怎么做?

非常感谢

最佳答案

最好的方法是使用 NSUserDefaults。这可以通过以下方式完成(假设您正在使用 FIRAuth,但 Twitter 登录将为您提供相同的 authData):

FIRAuth.auth()!.createUserWithEmail(email, password: pwd, completion: { authData, error  in

            if error == nil {
                //enable automatic login for future usage
                NSUserDefaults.standardUserDefaults().setValue(authData?.uid, forKey: "uid")    
})

当用户下次打开应用时,执行以下检查以查看用户之前是否登录过:

if NSUserDefaults.standardUserDefaults().valueForKey(KEY_UID) != nil {
        dispatch_async(dispatch_get_main_queue()) {
            [unowned self] in
            self.performSegueWithIdentifier(SEGUE_LOGGED_IN, sender: nil)
        }
    }

关于swift - 持久用户身份验证 Firebase Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36791168/

相关文章:

firebase - 如何在Firebase Realtime数据库中保存LocalData?

ios - 更新自动布局约束以重新定位文本字段

swift - 如何将协议(protocol)属性默认实现编码为字典

ios - 如何在 Swift 中实现非常准确的计时?

android - 错误 :(27, 13) 无法解析 : com. google.firebase:firebase-core

node.js - Firebase 使用通配符限制子 Node 扩展?

ios - 当另一个函数结束时运行一个函数,iOS,Swift

ios - UIScrollView 不滚动也没有出现在正确的位置

android - flutter -用户打开推送通知消息(FCM)后如何执行任务

android - android应用程序可在android 5.0上运行,但android 4.2.1 java.lang.NoClassDefFoundError : com.google.firebase.FirebaseOptions