Firebase Auth成功,但数据库参考设置和更新不会发生在电子应用程序版本1.4.2中

时间:2017-07-12 09:02:59

标签: firebase firebase-realtime-database firebase-authentication electron

我可以使用firebase.auth().signInWithCustomToken从我现有的Electron应用程序授权Firebase应用程序。此方法的承诺解决了,我能够使用firebase.auth().currentUser.uid获取当前授权用户。

此时我必须在技术上能够写入/users/<currentUser>。但是,调用userRef.set()userRef.update()方法不会更新数据库引用并以静默方式失败(这些方法的回调和承诺都无法解析,并且不会抛出任何错误)。

奇怪的是,完全相同的代码适用于不同的新创建的Electron应用程序。我的代码如下所示:

const writeToFirebase = (customToken) => {
 syncApp.auth().signInWithCustomToken(customToken).then(user => {
  const userId = firebase.auth().currentUser.uid;  // this is successfull
  const userRef = firebase.database().ref("/users/" + userId);
  userRef.set({data: data}, () => { //callback does not trigger });
  userRef.update({data: data})
   .then(() => {//promise does not resolve})
   .catch(err) => {// promise is not rejected either! }
 });
}

有关如何调试此功能的任何指示都会有所帮助。

1 个答案:

答案 0 :(得分:0)

我发现了这个问题。其他人不太可能遇到同样的问题,但如果你这样做,请查看电子版browserWindow.loadURL中的userAgent值。

我的设备是Android移动设备&amp;由于这个原因,Firebase未设置/更新。我认为Firebase服务器在看到移动用户代理时反应不同,我使用的是Firebase JS SDK,而不是导致此问题的Android SDK。