Google登录和Firebase身份验证关系?

时间:2017-03-10 20:17:09

标签: swift firebase firebase-authentication

我的firebase应用程序的唯一身份验证形式是通过Google。当我尝试使用GIDSignIn.sharedInstance().signOut()注销用户时,Firebase仍会说用户已登录。因此,当我在主屏幕中显示以下代码时(用户登录后的第一个屏幕),"用户已登录..."打印出来:

override func viewDidAppear(_ animated: Bool) {
        GIDSignIn.sharedInstance().signOut()
        FIRAuth.auth()?.addStateDidChangeListener { auth, user in
            if let user = user {
                print("User is logged in...")
            else {
                print("User not logged in..."
            }
        }
}

为了正确登录用户,我是否必须同时执行google登出和firebase登出?我不确定为什么以下代码表示用户已登录,即使我之前通过唯一可用的身份验证形式明确注销了它们。

2 个答案:

答案 0 :(得分:2)

谷歌退出

GIDSignIn.sharedInstance().signOut()

for firebase退出:

do {
  try firebaseAuth?.signOut()
} catch let signOutError as NSError {
  print ("Error signing out: %@", signOutError)
}
  

为了正确登录用户,我是否必须同时执行google登出和firebase登出?

是啊..你必须注销两个。因为没有内部连接..所以如果你想从firebase注册firebase api另一方面注销如果你想从谷歌注销然后调用google api。

答案 1 :(得分:0)

是的,您必须同时致电Google退出和Firebase退出。