多个 Firebase 实例

2023-11-28

当我尝试制作多个时遇到问题new Firebase(url);实例。

例如:

var token1 = "c.AdASdsAsds...";
var token2 = "c.dkasdEddss...";

var v1 = new Firebase('https://developer-api.nest.com');
v1.auth(token1,function(err){ 
    console.log("Connected 1 "+err);
},function(err){ console.log("Cancel 1: "+err); });

var v2 = new Firebase('https://developer-api.nest.com');
v2.auth(token2,function(err){ 
    console.log("Connected 2 "+err);
},function(err){ console.log("Cancel 2 "+err); });

控制台日志:Connected 2 null就这样......不再了。

所以,这意味着它永远不会调用回调函数v1.auth();它忽略它,看起来它被覆盖了v2.auth();即使它们是不同的 Firebase 实例,并且它会干扰其他一切,例如v1.child("path").on("value",function(snapshot){}); and v2.child("path").on("value",function(snapshot){});发生这种情况时将不起作用。


您只能在使用 Firebase 身份验证的单个页面中进行一次身份验证。

From Firebase 文档中的此页面:

对 Firebase 的所有引用都共享相同的身份验证状态。因此,如果您两次调用 new Firebase() 并对其中之一调用 auth(),它们都将通过身份验证。

当然,nest-api 身份验证的工作方式可能有所不同,但我对此表示怀疑。

Update

您提供的报价来自Firebase 文档中的另一页:

即使我们在不同的 Firebase 引用上调用 .auth,也不可能同时使用多个凭据对同一 Firebase 进行身份验证。身份验证状态是全局的,适用于对 Firebase 的所有引用。但是,可以创建对两个或多个不同 Firebase 的引用并独立地对它们进行身份验证。

但在您的代码中,两个连接都连接到同一个 Firebase:https://developer-api.nest.com。一个 Firebase => 一种身份验证状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多个 Firebase 实例 的相关文章

随机推荐