【问题标题】:Firebase Security Rules completely open but still giving permission denied errorFirebase 安全规则完全打开,但仍然授予权限被拒绝错误
【发布时间】:2018-06-05 23:52:01
【问题描述】:

我已经为我的 Firebase 权限编写了这些安全规则,据我所知,这些安全规则应该授予所有经过身份验证的用户读写权限...

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

但我的 RTDB 节点上仍然出现这些错误..

[Firebase/Database][I-RDB03812] Listener at /UserVideo/null failed: permission_denied
[Firebase/Database][I-RDB03812] Listener at /users/4eb8920a-e407-4488-bce4-c6f64f7b0891 failed: permission_denied

我已经验证 4eb8920a-e407-4488-bce4-c6f64f7b0891 实际上是用户 uid。我的安全模拟器告诉我,我的 ref/users 和 ref/UserVideo 都允许读取和写入。我错过了什么?

【问题讨论】:

  • 也许您没有通过身份验证?尝试true 而不是"auth != null" 来检查。
  • 我建议您检查甚至发布您的代码 - 特别是您在哪里进行身份验证,并查看在您进行身份验证时它是否返回错误。
  • 请注意,您正尝试将侦听器附加到 /UserVideo/null,这可能是问题的线索。

标签: security firebase firebase-realtime-database firebase-security flutter


【解决方案1】:

改用 auth.uid:

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

【讨论】:

  • ".read": "auth != null", 是 Firebase 提供的默认设置,因此 auth.uid 不会产生任何影响。
猜你喜欢
  • 1970-01-01
  • 2016-11-27
  • 1970-01-01
  • 2014-10-04
  • 2020-03-22
  • 2021-10-20
  • 1970-01-01
  • 2017-05-14
  • 2020-09-11
相关资源
最近更新 更多