[英]How to access firebase realtime database according to the rules using http requests
[英]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.