我的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登出?我不确定为什么以下代码表示用户已登录,即使我之前通过唯一可用的身份验证形式明确注销了它们。
答案 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退出。