Firebase 權限被拒絕:解決存取問題
嘗試將資料傳送至Firebase 資料庫時,您可能會遇到「permission_denied」錯誤。這表示目前使用者沒有存取指定資料的必要權限。
預設情況下,Firebase 資料庫只能由使用 Admin SDK 的管理使用者或程序存取。但是,您可以修改資料庫的安全規則以向經過驗證的使用者甚至未經身份驗證的使用者授予存取權限。
允許未經身份驗證的存取
一個簡單的解決方法是將預設規則替換為以下內容:
{ "rules": { ".read": true, ".write": true } }
這向有權存取資料庫URL 的任何人授予讀寫存取權限。請務必注意,此操作將使您的資料庫可公開訪問,因此不應將其用於敏感資料。
在存取之前登入使用者
更安全的選項是為了確保使用者在存取資料庫之前已登入。這可以使用匿名驗證來完成:
firebase.auth().signInAnonymously().catch(function(error) { // Handle Errors here. });
登入後,您可以將偵聽器附加到資料庫:
firebase.auth().onAuthStateChanged(function(user) { if (user) { // User is signed in. setUserInfo(); } else { // User is signed out. } });
在「setUserInfo」函數中,您可以設定使用提供的使用者ID 將必要的資料新增至資料庫。這可確保只有登入使用者才能存取您的資料。
以上是Firebase 權限被拒絕:如何授予對資料庫的存取權限?的詳細內容。更多資訊請關注PHP中文網其他相關文章!