您好,我正在尝试开始使用 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/