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

React项目Firestore连接后端报permission-denied错误求助

Firestore permission-denied 报错排查方案

报错提示中的 permission-denied 是核心错误原因,后续的网络连接提示是通用兜底提示,该问题和网络状态无关,可按以下步骤逐一排查:

  • 第一步:检查 Firestore 安全规则配置
    大多数该类报错都是安全规则不匹配导致的。进入 Firebase 控制台,打开「Firestore 数据库」-「规则」标签页:

    默认测试模式的安全规则仅在创建数据库后30天内允许访问,到期后会默认拒绝所有请求。
    临时调试可先替换为以下规则(仅用于调试,上线必须修改为符合业务的权限控制逻辑,避免数据泄露):

    rules_version = '2';
    service cloud.firestore {
      match /databases/{database}/documents {
        match /{document=**} {
          allow read, write: if true;
        }
      }
    }
    
    修改后点击发布,等待1分钟后重试请求。
  • 第二步:核对 Firebase 初始化配置参数
    检查你代码中 firebaseConfig 的所有参数是否和 Firebase 控制台「项目设置」-「您的应用」中给出的配置完全一致:
    特别注意两个易出错点:
    1. 你配置中 appId 字段填写的是 MY_APP_IP,该字段应为 Firebase 生成的应用ID,不是IP地址,需要确认填写正确
    2. projectId 不能有拼写错误、前后空格,必须和控制台显示完全一致
  • 第三步:检查 API 密钥访问限制
    如果你的 API 密钥配置了访问限制,进入 Google Cloud 控制台「API 和服务」-「凭据」,找到对应你使用的 API 密钥:
    1. 确认该密钥已允许访问 Cloud Firestore API
    2. 如果你配置了 HTTP 来源限制,确认本地调试的 localhost 域名、线上域名都在允许列表中
    3. 如果你配置了 API 限制,确认 Cloud Firestore API 已添加到允许的 API 列表中
  • 第四步:确认项目服务状态
    进入 Google Cloud 控制台「API 和服务」-「已启用的 API 和服务」,搜索 Cloud Firestore API,确认该服务处于启用状态,同时确认你的 Firebase 项目没有欠费、没有被暂停服务。
  • 第五步:确认请求时用户认证状态
    如果你的安全规则要求登录后才能访问(比如规则中配置了 allow read, write: if request.auth != null;),需要确认你发起 Firestore 请求时,用户已经完成登录,auth.currentUser 不为空。

内容的提问来源于stack exchange,提问作者GoD GaMeRz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:24:02