小编Tol*_*ola的帖子

验证node.js服务器上的客户端Firebase令牌

我正在实现一个node.js服务器,使用express.js进行REST和Firebase进行数据存储.

我已经阅读了使用NodeJs和Firebase - Security,它可以用这种方式实现,但在我的情况下我需要向服务器发送数据,服务器必须返回重定向地址,因此使用firebase作为通信通道有点复杂.

我目前正在通过发送Firebase身份验证令牌作为查询参数并使用firebase auth()方法检查授权来验证服务器上的客户端身份.

dataRef.auth(CLIENT_TOKEN, function(error) {
  if(error) {
    console.log("Login Failed!", error);
  } else {
    console.log("Login Succeeded!");
  }
}); 
Run Code Online (Sandbox Code Playgroud)

问题是,在服务器中我还需要firebase"admin"权限.为此,我需要使用管理令牌使用firebase auth()再次进行身份验证.(由firebase-token-generator生成)

var FirebaseTokenGenerator = require("firebase-token-generator");
var tokenGenerator = new FirebaseTokenGenerator(YOUR_FIREBASE_SECRET);
var token = tokenGenerator.createToken({some: "arbitrary", data: "here"});
Run Code Online (Sandbox Code Playgroud)

我注意到auth()方法有一个限制:

请注意,对Firebase的所有引用都具有相同的身份验证状态.因此,如果您两次调用新的Firebase()并在其中一个上调用auth(),则它们都将进行身份验证.

有没有办法在不调用auth()两次的情况下实现它?

或者有更好的解决方案吗?

node.js firebase

13
推荐指数
1
解决办法
6541
查看次数

将flowControl选项设置为现有订阅的正确方法是什么?

文档没有说明使用现有订阅的正确方法是什么 @google-cloud/pubsub@0.14.x

可以使用接收订阅topic.getSubscriptions(),但是似乎没有为接收的订阅设置订阅flowControl选项的简便方法。

topic.createSubscription()如果已找到并且有可能传递选项对象,似乎还会返回现有订阅。

那么,有没有一种方法可以将flowControl选项设置为已接收的订阅,或者createSubscription是否用于此目的?

node.js google-cloud-pubsub

1
推荐指数
1
解决办法
337
查看次数

标签 统计

node.js ×2

firebase ×1

google-cloud-pubsub ×1