如何安全地允许用户从Firebase队列中删除响应?

时间:2016-11-15 11:25:52

标签: firebase firebase-realtime-database firebase-security firebase-queue

我将Firebase与Angular2和Firebase队列一起用作批处理服务器。

客户端将任务发送到服务器,有时他们正在等待响应。

客户端可以使用请求ID读取响应。但那么,响应会发生什么?我想只有客户才能删除它,但我不想将private async void button27_Click(object sender, EventArgs e) { var r = new Random(System.DateTime.Now.Millisecond); await Task.Factory.StartNew( () => { Divide(r.Next(100), r.Next(-1, 10)); Log.Information("Divide Done!"); }, CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default) .ContinueWith( t => { Log.Error(t.Exception,"There is an exception on Divide"); }, TaskContinuationOptions.OnlyOnFaulted); } private static void Divide(int a, int b) { var c = a/b; } 提供给客户。

因此,我试图找到一种方法来保护.write访问权。

问题:是否可以仅对拥有请求密钥的用户授予.write.read访问权限?

响应本身甚至.write节点对其他节点都不可读。

我试图在用户可以阅读之前避免让人(邪恶)删除回复。

1 个答案:

答案 0 :(得分:0)

Frank van Puffelen回答了回应here

如果我只想让auth用户能够使用它,我应该使用以下规则吗?

"responses": {
  ".read": "false",
  ".write": "false",
  "$responses": {
    ".read": "auth != null",
    ".write": "auth != null",
  }
}