1

在我的Angular2應用程序中,我使用Google,Facebook,Twitter和Github身份驗證。 Twitter工作正常。問題在於Facebook和Google。使用Facebook和Google身份驗證

  1. Facebook的: 當我輸入我的用戶名和密碼Facebook登錄,它同時使用Twitter,這應該記錄顯示在出現的頁面上,而說App Not Set Up: This app is still in development mode, and you don't have access to it. Switch to a registered test user or ask an app admin for permissions.

  2. Google: 當我沒有登錄到任何郵件ID時,Google身份驗證正常工作。但是,如果我已經登錄到我的任何郵件ID,則身份驗證系統會將該郵件ID自身並登錄到該應用程序。有什麼辦法可以讓系統詢問我要使用哪個郵件ID,即使我通過一個ID登錄時也是如此?

任何幫助將不勝感激。謝謝。

+0

如果Twitter的工作在你的情況下,罰你可以在這裏https://stackoverflow.com/q/45159463/5043867把一些光,在Facebook中的情況下,最有可能你需要在網上設置facebook應用程序的狀態,這可能會導致問題 –

+0

@PardeepJain你能否在facebook上說一點點嗎?還有關於谷歌部分的任何想法? –

+0

對於Facebook,您需要使用Facebook開發人員網站設置應用程序,然後將您的應用程序網址列入白名單,並且對於Google,您可以將您的用戶名保存在本地存儲中,然後在登錄時再次刪除本地存儲和然後再次登錄 –

回答

1

您可以通過設置自定義參數強制提示Google。這會給用戶切換帳戶的選項:

var provider = new firebase.auth.GoogleAuthProvider(); 
provider.setCustomParameters({prompt: 'select_account'}); 
firebase.auth().signInWithPopup(provider); 
+0

感謝您的代碼。我必須稍微調整一下,並設置this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider()。setCustomParameters({prompt:'select_account'}));'因爲當我使用你的確切代碼時,按鈕不起作用。但是,謝謝,您的代碼幫助。我只是將它縮減爲一條線。 –