Cordova 余烬火认证&x2B;科尔多瓦

Cordova 余烬火认证&x2B;科尔多瓦,cordova,authentication,emberfire,torii,Cordova,Authentication,Emberfire,Torii,据我所知,emberfire auth通过Tori工作,并包括自己的Tori提供程序(Tori提供程序/firebase.js) 当我尝试登录时,它会从firebase提供程序运行signInWithPopup方法。当应用程序通过cordova在移动设备上运行时(location.protocol等于“file:”)它不工作 我找到了一个解决办法: 我使用cordova插件通过谷歌获得idToken的授权 我已覆盖提供程序以使用带凭据登录: export default ToriiFirebas

据我所知,emberfire auth通过Tori工作,并包括自己的Tori提供程序(
Tori提供程序/firebase.js

当我尝试登录时,它会从firebase提供程序运行
signInWithPopup
方法。当应用程序通过cordova在移动设备上运行时(
location.protocol
等于
“file:”
)它不工作

我找到了一个解决办法:

  • 我使用cordova插件通过谷歌获得idToken的授权

  • 我已覆盖提供程序以使用
    带凭据登录

    export default ToriiFirebaseProvider.extend({
      open(idToken) {
        const firebaseApp = get(this, 'firebaseApp');
        const credentials = get(firebaseApp, 'firebase_.auth.GoogleAuthProvider.credential')(idToken);
        return firebaseApp.auth().signInWithCredential(credentials);
      }
    });
    

  • 它现在可以工作了,但我不确定它是否是正确的解决方案?

    那么,您想要重定向而不是弹出窗口? 如果这是您想要的,只需设置重定向选项:

    this.get('session').open('firebase', { provider:'google', redirect: true })