Firebase身份验证成功,但electron应用程序版本1.4.2中未设置和更新数据库引用
我可以使用Firebase身份验证成功,但electron应用程序版本1.4.2中未设置和更新数据库引用,firebase,firebase-realtime-database,firebase-authentication,electron,Firebase,Firebase Realtime Database,Firebase Authentication,Electron,我可以使用Firebase.auth().signiWithCustomToken从现有的Electron应用程序授权Firebase应用程序。这个方法的承诺解决了,我能够通过firebase.auth().currentUser.uid获得当前授权用户 在这一点上,我必须在技术上能够写给/users/。但是,调用userRef.set()和userRef.update()方法不会更新数据库引用,并且会以静默方式失败(这些方法的回调和承诺都不会解析,也不会引发错误) 奇怪的是,完全相同的代码在另
Firebase.auth().signiWithCustomToken
从现有的Electron应用程序授权Firebase应用程序。这个方法的承诺解决了,我能够通过firebase.auth().currentUser.uid
获得当前授权用户
在这一点上,我必须在技术上能够写给/users/
。但是,调用userRef.set()
和userRef.update()
方法不会更新数据库引用,并且会以静默方式失败(这些方法的回调和承诺都不会解析,也不会引发错误)
奇怪的是,完全相同的代码在另一个新创建的电子应用程序中工作。我的代码如下所示:
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! }
});
}
任何关于如何进行调试的建议都会很有帮助。我发现了这个问题。其他人不太可能有同样的问题,但如果有,请查看Electron中
browserWindow.loadURL
中的userAgent值
Mine已设置为Android移动设备,Firebase因此未设置/更新。我假设Firebase服务器在看到移动用户代理时会做出不同的反应,我使用的是Firebase JS SDK,而不是导致问题的Android SDK