2017-04-23 17 views
0

据我所知,emberfire auth通过torii工作,包括自己的torii提供者(torii-providers/firebase.js)。emberfire auth + cordova

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

我已经找到了解决办法:

  1. 我用科尔多瓦插件授权通过谷歌获得idToken。

  2. 我已经覆盖了供应商使用signInWithCredential

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

它现在,但我不知道它是正确的解决方案?

回答

0

那么,你想要一个重定向而不是弹出? 如果这就是你想要的,只需设置重定向选项:

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