You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firestore权限拒绝问题:已设全允许规则且Firebase登录成功仍报错

Firestore权限拒绝问题排查(已设全允许规则、Auth登录成功但仍报错)

以下是针对你遇到问题的具体排查和解决步骤:

  • 确认安全规则是否真正生效
    检查Firebase控制台的Firestore规则是否已保存并发布全允许配置,正确的全允许规则应该是:

    rules_version = '2';
    service cloud.firestore {
      match /databases/{database}/documents {
        match /{document=**} {
          allow read, write: if true;
        }
      }
    }
    

    注意修改规则后必须点击「发布」按钮,仅保存不会更新生效规则。

  • 验证Auth用户与Firestore请求的关联
    在调用get()方法前,打印当前登录用户的信息,确认uid正确且用户处于已登录状态:

    const user = auth().currentUser;
    console.log('当前登录用户UID:', user?.uid);
    

    同时确保Firestore请求是在Auth登录成功的回调之后执行,避免异步时序问题导致请求时用户身份未完全同步。

  • 检查Firebase初始化配置
    确认iOS端的GoogleService-Info.plist和Android端的google-services.json是当前项目的正确配置文件,没有混用其他项目的配置。
    验证@react-native-firebase/app在App启动阶段已完成初始化,确保Firebase服务能正常关联身份信息。

  • 排查规则生效延迟或缓存问题
    Firestore规则修改后可能存在几分钟的生效延迟,修改后等待5-10分钟再测试。
    清除App缓存或重新安装App,避免旧规则缓存干扰请求。

  • 确认Firestore实例正确性
    确保调用的是默认Firestore实例,没有误使用自定义环境实例:

    import firestore from '@react-native-firebase/firestore';
    // 确保使用默认实例发起请求
    firestore().collection('users').doc(uid).get()
    
  • 查看Firebase控制台日志
    打开Firebase控制台的「Firestore」→「规则」→「规则播放」,查看权限拒绝请求的详细日志,日志会显示请求的身份信息、目标路径等,帮助定位具体问题。

内容的提问来源于stack exchange,提问作者neostar-2020

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 17:53:14