Firebase:在permission_denied

时间:2015-10-07 13:17:18

标签: firebase angularfire

我构建了一个允许用户将其应用程序状态流式传输给其他用户的应用程序。流媒体可以指示流是否是公共的。如果流是公开的,那么在Firebase中设置了一个标记,允许其他人通过获取对象的URL来访问它(否则,他们会获得permission_denied)。

可以在广播进行时更改此标志。如果是,则强制断开观看广播的所有客户端。那部分是有道理的。我似乎无法弄清楚如何重新连接,以防再次上市。在文档中似乎没有关于恢复或观察从这个特定状态重新连接的任何内容。客户唯一可以做的就是点击F5,如果他们已经获得了广播链接并想早点去那里,这不是一个好的解决方案。

所以,我的问题是:即使您已收到permission_denied,是否可以注意重新连接到Firebase对象?如果是这样,怎么样?

或者最好总是允许权限,但隐藏对象内的数据直到它准备就绪(即允许读取对象,但没有它的属性)?

1 个答案:

答案 0 :(得分:1)

是的,更好地授予对象metadata的访问权限,但限制对content的访问权限(通过fb权限)。然后,在您的客户端,您只需观看metadata的更改。这也会更准确,流量更少。