只允许Firebase函数写入,但Firebase之前已初始化

只允许Firebase函数写入,但Firebase之前已初始化,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,首先,我从Firebase(web)开始,如果我误解了Firebase的概念,请告诉我。 我只需要允许一个函数写入Firebase数据库。我读过一些其他的例子,关于如何使用databaseAuthVariableOverride向Firebase配置中添加一个变量,该变量可以在规则中用于验证Firebase函数的写访问权限,没关系,但这种方法的问题是,似乎在初始化Firebase之前调用了Firebase函数,我需要在Firebase函数中添加此变量,当我这样做(在Firebase函数中添加变量

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

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

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


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

似乎对Firebase函数和云函数存在误解(错误消息是因为Firebase函数中的云函数使用了代码),但无论如何,这个问题的答案是,您可以在将数据写入Firebase数据库的函数代码中使用ref:

event.data.adminRef
改为
event.data.ref


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

Hi。这与你的问题类似吗?是关于同一个问题,另一个问题是在这个问题之后提出的,另一个问题是一般性的文本,没有详细说明是更一般的场景还是更容易让人们认识到情况并回答问题。我对这两种情况都给出了答案。你认为这个问题必须删除吗?嗨,穆诺。如果是同一篇文章,我建议将其合并(删除其中一篇,保留另一篇,同时合并两篇文章的细节)。干杯!:)