let firebaseReference = Firebase(url: "https://MY-FIREBASE.firebaseio.com")
FBSession.openActiveSessionWithReadPermissions(["public_profile","user_frIEnds"],allowLoginUI: true,completionHandler: { session,state,error in if state == FBSessionState.Open { let accesstoken = session.accesstokenData.accesstoken firebaseReference.authWithOAuthProvIDer("facebook",token: accesstoken,withCompletionBlock: { error,authData in if error != nil { // Login Failed. } else { // Logged in! println("Logged in! \(authData)") } }) } })}
(即,启动并运行应用程序,成功登录).
如果您随后删除该应用程序并将其重新安装在同一台设备上,则该调用(我在应用程序委托中使用的是否确定用户是否已登录)将始终返回他们登录.
if firebaseReference.authData == nil { // Not logged in} else { // Logged in}
这是为什么?我会想,删除应用程序并重新安装应该擦除所有数据.
如果您重置iOS模拟器中的内容和设置,并安装该应用程序,firebaseReference.authData属性将再次为零.
解决方法 Firebase认证会话在iOS钥匙串中的用户设备上保留.卸载应用程序时,应用程序的钥匙串数据不会被删除.如果您要手动清除数据,您可以随应用程序一起存储一些额外的元数据,并手动调用FirebaseRef.unauth()来清除持久化的会话.请参阅#4747404: Delete keychain items when an app is uninstalled以获得其他参考.
总结以上是内存溢出为你收集整理的ios – Firebase – 删除和重新安装应用程序不会取消对用户进行身份验证全部内容,希望文章能够帮你解决ios – Firebase – 删除和重新安装应用程序不会取消对用户进行身份验证所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)