在网络中,我的Firebase项目在同一项目/应用中具有两个数据库实例
使用Firebase身份验证成功登录后;
第二个数据库引用似乎未经身份验证,因此数据库访问失败;符合规则中的auth != null
。
如果我将第二个数据库url替换为config对象,并将默认数据库url放置在config2中,则第二个数据库开始可以正常工作,但已通过身份验证,但是旧数据库由于数据库访问规则auth != null
而失败
在没有任何人遇到上述问题的情况下,如何在Web javascript代码中同时使用两个数据库?
初始化正确吗?
预先感谢
答案 0 :(得分:1)
应该在Firebase网站中正确记录以进行Web身份验证 但不幸的是,它不是针对这个问题的。
因此,firebase auth实例将单独维护,包括auth回调
所以我不得不像波纹管一样
await firebase.auth().signInWithEmailAndPassword(_ths.form.email, _ths.form.password);
await firebase.app('app2').auth().signInWithEmailAndPassword(_ths.form.email, _ths.form.password);
let authPromises = [];
authPromises.push(new Promise((resolve,reject)=>{
firebase.auth().onAuthStateChanged(function (user) {
if (user) resolve(user);
});
}));
authPromises.push(new Promise((resolve,reject)=>{
firebase.app('app2').auth().onAuthStateChanged(function (user) {
if (user) resolve(user);
});
}));
Promise.all(authPromises).then(async(users)=>{
// ....
let oldDbInstance = firebase.database();
let newDbInstance = firebase.database(app2);
});
Ph!