仅允许写入Firebase功能,但Firebase已在

时间:2017-04-26 19:11:49

标签: firebase firebase-realtime-database

首先,我从Firebase(网络)开始,所以如果我误解了Firebase概念,请告诉我。 我只需要允许函数写入Firebase数据库。我已经阅读了this post和其他示例,这些示例是关于如何使用databaseAuthVariableOverride向Firebase配置添加一个变量,该变量可以在规则内部用于验证Firebase函数的写入权限,这没关系,但我的问题与此方法有关似乎Firebase函数在之前初始化Firebase之后被调用,我需要在Firebase函数中添加此变量,当我这样做时(添加变量并在Firebase函数中初始化Firebase),会出现以下错误:

  

默认的Firebase应用已存在。这意味着你打过电话   initializeApp()不止一次提供应用程序名称   第二个论点。在大多数情况下,您只需要调用initializeApp()   一旦。但是,如果您确实要初始化多个应用程序,请传递一秒钟   initializeApp()的参数,为每个应用程序提供唯一的名称。

(请注意,该功能与同一项目有关)

所以,我想知道如何在Firebase初始化时只允许函数写入(如果我误解了Firebase生命周期,请告诉我)。我必须说出于安全原因我无法在客户端添加变量,而且似乎是来自客户端的Firebase首次初始化。

1 个答案:

答案 0 :(得分:0)

似乎对Firebase功能和云功能存在误解(错误消息是因为Firebase功能中的云功能使用了代码),但无论如何,此问题的答案是您可以使用{{3}而不是在将在Firebase数据库上写入数据的函数的代码中引用:

event.data.adminRef代替event.data.ref

这将为您提供完全的读写访问权限,而不是最终用户访问权限。