1

我試圖在離子應用程序中實施Google身份驗證。我在GitHub上找到這個示例應用程序(click here),它使用Google登錄。Ionic查看谷歌登錄Popup適用於Firebase 2,但不適用於Firebase 3(適用於瀏覽器)

  • 當我服務到瀏覽器(使用ionic serve --lab)時,彈出窗口工作。我可以登錄並訪問數據。
  • 當我將它上載到離子並在iOS/Android模擬器上打開應用程序時,它可以正常工作。
  • 當我構建它並在android上模擬它時,彈出窗口不起作用。

我試着用火力地堡的遷移指南(click here)升級應用程序,但我只能得到它在瀏覽器中工作,而不是在離子視圖或Android模擬器。

我也加入了Google登錄到一個單獨的應用程序,但我只能讓它在瀏覽器中工作。

var provider = new firebase.auth.GoogleAuthProvider(); 
firebase.auth().signInWithPopup(provider).then(function (response) { 
    // Login successful 
}, function(error) { 
    // Login error 
}); 

任何幫助將是偉大的!

一個側面的問題,即使我使用新的Firebase控制檯,我仍然能夠使用Firebase 2.x.x嗎?我認爲,Firebase確實給我一個錯誤,說我正在使用新的Firebase控制檯,以便使用最新的庫或其他東西。

回答

5

Android和iOS上的Ionic/Cordova的Firebase身份驗證3.x目前不支持signInWithPopup。 Firebase團隊正在爲此提供支持。 檢查該線程以獲得更多關於如何處理這種情況:https://groups.google.com/forum/#!searchin/firebase-talk/cordova $ 20facebook /火力通話/ mC_MlLNCWnI/DqN_8AuCBQAJ

現在,你可以使用signInWithCredential作爲替代。有谷歌和Facebook的插件科爾多瓦這將有助於爲您提供一個OAuth訪問令牌,你可以用它來打電話signInWithCredential:https://www.npmjs.com/package/cordova-plugin-facebook

:在爲Facebook標誌的一個插件

auth.signInWithCredential(firebase.auth.FacebookAuthProvider.credential(fbAccessToken)); 

一個例子

相關問題