在firebase中登录后检索以前阻止的数据

时间:2016-05-12 16:50:26

标签: firebase firebase-security firebase-authentication

问题本身很简单:对于Firebase应用,如何获取以前在登录后阻止的数据并且不再被阻止?

至于引导我提出这个问题的细节:

在这个特定的应用程序中,我使用了一个简单的布局,其中包含根树的两个主要子树,用户和数据。数据树完全可读,任何人都可以随时阅读。用户树几乎是相反的,唯一的例外是如果您已登录,那么您可以读取仅属于您的特定子树。这会导致以下问题:当您转到该页面时,在您登录之前,这些对您来说非常重要的数据将被阻止,并且无法直接检索它。但是,登录后,您现在有权获取该信息,但由于之前已被阻止,因此似乎无法提取该信息。

我已经搜索了文档,发现只有一个可能有用的触发器,onAuth(),但即使我可以在登录后运行东西,我也无法获得任何数据。到目前为止我得到的最好的是Firebase参考我需要的特定子树,但是我找不到任何方法来实际使用该引用来获取快照,因为它是在页面加载之后。似乎我唯一的选择是在登录后刷新页面并检查页面加载时的登录,但这是一个非常大的开销。是否有其他方法可以在您登录并且有权读取它之前获得您之前没有权限的树中的数据?可能会在我无法找到或不了解的文档中提供一些参考资料,这些文档允许我要求不通过只能在页面加载时定义的触发器的火基参考的新快照?

1 个答案:

答案 0 :(得分:0)

Frank van puffelen是对的。

这很简单:

X seconds

似乎只要这个监听器是由其他听众完成的,它就可以工作。它每次更改身份验证时都会运行,如果他们已登录,则将侦听器附加到包含该信息的路径并获取它。我相信这个代码有更好的方法,可能还有一些问题,但它对我有用。

相关问题