2017-04-26 28 views
0

之前初始化。首先,我從Firebase(web)開始,所以如果我誤解了Firebase概念,請讓我知道。 我需要只允許一個函數寫入Firebase數據庫。我已閱讀this post以及其他示例,這些示例講述瞭如何使用databaseAuthVariableOverride向Firebase配置添加一個變量,該變量可用於驗證Firebase函數寫入訪問的規則,這沒關係,但我的問題似乎是這樣在火力地堡函數之後被調用時之前進行初始化火力地堡,我需要添加火力地堡函數內部的變量,當我一個做(添加變量並初始化火力地堡的火力地堡函數內)出現此錯誤:只允許Firebase函數寫入,但Firebase已在

默認的Firebase應用已存在。這意味着如果不提供應用程序名稱作爲 第二個參數,則多次調用 initializeApp()。在大多數情況下,您只需要調用initializeApp() 一次。但是,如果您確實想要初始化多個應用程序,請將第二個 參數傳遞給initializeApp()以爲每個應用程序指定一個唯一的名稱。

(請注意,該功能與同一項目相關)

所以,我想知道如何只允許函數時火力地堡已經被初始化寫(請讓我知道,如果我誤解了Firebase的生命週期)。我必須說,出於安全原因,我不能在客戶端添加變量,而且似乎來自Firebase初次初始化的客戶端。

+0

嗨。這是類似於你的[其他職位](http://stackoverflow.com/q/43642900/4625829)? –

+0

是關於同樣的問題,另一個問題是在這個問題之後提出的,另一個問題是一個普通文本,沒有細節,如果更多的是一般情況,或者很容易讓人們認識到這個問題並回答問題。我在兩種情況下都給出了答案。你認爲這個問題必須刪除嗎? – moonw

+0

嗨moonw。如果它是同一篇文章,我會建議合併它(刪除一個並保留另一個,同時將兩者的細節結合起來)。乾杯! :) –

回答

0

似乎有人誤解了Firebase函數和雲功能(錯誤消息是因爲在Firebase函數中使用雲代碼功能),但無論如何,這個問題的答案是,您可以使用adminRef而不是ref在函數的代碼,會寫上火力地堡數據庫中的數據:

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

這會給你充分的讀寫權限,而不是最終用戶訪問。