簡體   English   中英

如何為 REST 請求設置 Firebase 實時數據庫規則?

[英]How to set up Firebase Realtime Database-rules to REST-requests?

在當前項目中,我們正在使用 React 創建一個網站,該網站將顯示來自我們的 Firebase 實時數據庫的一些信息。 我們使用 npm 中的firebase.auth()包進行身份驗證,其中唯一存在的用戶是我們的管理員用戶。
我似乎無法弄清楚如何通過實時數據庫規則集驗證我的 POST 請求。

我用谷歌搜索了一段時間,發現顯然需要通過 object 傳遞的令牌,我通過運行firebase.auth().currentUser.getIdToken找到了該令牌。 但是,通過將我的規則設置為

{
  "rules": {
    ".read": true,
    ".write": "auth.uid != null"
  }
}

...它仍然不讓我發帖。 這當然不是一個非常安全的授權,但它應該允許我發布,因為我給了它一個訪問令牌。 (我在請求 URL 中使用URL.firebaseio.com/.json?access-token=TOKEN執行此操作)。

我想知道的是我誤解了系統的哪一部分。 我不希望使用 npm 中的 firebase firebase/database包,因為我不太了解它,我當時想學習一步。

如果我必須更新規則文件,它應該說什么?
如果令牌/網址錯誤,應該是什么?

任何幫助,將不勝感激。 謝謝。

我解決了它,供我自己使用:

在 Firebase 控制台中,在身份驗證選項卡下,我發現我可以獲得用戶的 UID。

通過將 fetch-URL 更改為URL.firebaseio.com/.json?auth=TOKEN)並將寫入規則更改為".write": "auth.uid == '[UID]'"其中[UID]是以前的提到 UID,它只允許來自通過firebase.auth()登錄的用戶的后請求。

干杯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM