多个Firebases实例
我尝试制作多个new Firebase(url);
时遇到问题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();
调用callback函数v1.auth();
它忽略它,它看起来像被v2.auth();
覆盖v2.auth();
即使它们是不同的Firebases实例,并且干扰了其他一切,例如v1.child("path").on("value",function(snapshot){});
和v2.child("path").on("value",function(snapshot){});
在这种情况下不起作用。
您只能在使用Firebase身份validation的单个页面中进行身份validation。
从Firebase文档中的此页面 :
所有对Firebase的引用都具有相同的身份validation状态。 因此,如果您调用两次新的Firebase()并在其中一个上调用auth(),则它们都将被authentication。
当然,这可能是nest-api身份validation工作不同,但我怀疑它。
更新
您提供了Firebase文档中其他页面的引用:
即使我们在不同的Firebase引用上调用.auth,也无法同时使用多个凭据对同一Firebase进行身份validation。 身份validation状态是全局性的,适用于所有对Firebase的引用。 但是,可以创build对两个或更多不同Firebase的引用,并对这些独立进行身份validation。
但是,在您的代码中,两个连接都是相同的Firebase: https : //developer-api.nest.com 。 一个Firebase =>一个身份validation状态。
您可以使用新的Firebase.Context()作为第二个参数来创build多个实例!
var token1 = "c.AdASdsAsds..."; var token2 = "c.dkasdEddss..."; var v1 = new Firebase('https://developer-api.nest.com', new Firebase.Context()); 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', new Firebase.Context()); v2.auth(token2,function(err){ console.log("Connected 2 "+err); },function(err){ console.log("Cancel 2 "+err); });
- 在Heroku上制作一个NodeJs应用程序
- 在基本Http Auth Express.js之后redirect
- 在HTTP基本authentication中,为什么存储令牌更好?
- Firebase身份validationID令牌具有不正确的“审核”声明
- sails-auth模块给出“不能读取属性'loadStrategies'的未定义的”
- NodeJS:在客户端存储JWT的地方? sessionStorage,localStorage还是cookies?
- 使用react-dev-tools黑客authentication
- Auth0 req.user.sub返回false
- 如何使用节点js中的API密钥从REST api获取数据?