2017-05-17 26 views
0

問題:每次用戶登錄後登錄時,如何獲取Google登錄頁面?第二次簽名後,無法重新驗證Google登錄。 (Swift 3)(Firebase)

問題:一旦用戶第一次登錄(谷歌登錄彈出),並且一旦用戶第二次登錄。 (在頁面的谷歌標誌不彈出),並在用戶登錄W/O與他們的用戶谷歌憑據再次登錄(如電子郵件,密碼)

谷歌登出按鈕功能

// Sign user out of main application 
@IBAction func signOutButtonDidTouch(_ sender: Any) { 

    // Firebase user authentication fuction 
    let firebaseAuth = FIRAuth.auth() 

    if firebaseAuth?.currentUser != nil { 

    // If there is a user signed-in 
    do { 
     try firebaseAuth?.signOut() 

     print("[Google] signing out successful") 

      if firebaseAuth?.currentUser == nil { 
       // Performs current view controller transition to SignInViewController 
       performSegue(withIdentifier: "signOutSegue", sender: self) 
      } 
     }catch let signOutError as NSError { 

     print("Error signing out: %@", signOutError) 
     print("[Google] signing out error") 
    } 
} 
+0

你在使用firebase-ui嗎? – Chris

+0

是的,GIDSignInUIDelegate –

+0

你可以粘貼你用來登錄用戶的代碼嗎? – Chris

回答

2

您退出Firebase身份驗證,但您仍然使用Google登錄(設備上的鑰匙串中有令牌)。如果您退出谷歌帳戶的同時,應該解決這個問題:

GIDSignIn.sharedInstance().signOut() 

火力地堡驗證對待谷歌只是另一個身份提供商,如Facebook或Twitter,因此它不調整的,當狀態Firebase身份驗證狀態會發生變化。

+1

問題解決了!感謝您的快速回復! –