0
据我所知,emberfire auth通过torii工作,包括自己的torii提供者(torii-providers/firebase.js
)。emberfire auth + cordova
当我尝试登录时,它会从Firebase提供商运行signInWithPopup
方法。当应用程序通过cordova在移动设备上运行时,它不起作用(location.protocol
等于"file:"
)。
我已经找到了解决办法:
我用科尔多瓦插件授权通过谷歌获得idToken。
我已经覆盖了供应商使用
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); } });
它现在,但我不知道它是正确的解决方案?