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中文网其他相关文章!