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)); 

一个例子

相关问题