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

使用React+TypeScript+react-hooks-firebase遇Firebase权限拒绝问题求助

解决Firebase权限拒绝(permission-denied)问题

问题概况

开发栈:react-hooks-firebase + React + TypeScript
触发错误:[code=permission-denied]: Permission denied on resource project
已将Firebase数据库权限规则设为允许访问,相关截图如下:
Firebase错误截图
权限规则配置截图

核心问题定位

你的firebase.ts配置存在两个关键错误,直接导致权限拒绝:

  1. 环境变量被错误用引号包裹,代码读取的是字符串字面量而非实际环境变量值
  2. authDomain配置项拼写错误(AUTH_DOMATIN应为AUTH_DOMAIN)

错误配置片段:

export const firebaseConfig = {
  apiKey: 'import.meta.env.API_KEY', // 引号导致无法读取真实变量
  authDomain: 'import.meta.env.AUTH_DOMATIN', // 拼写错误
  // ... 其余配置项同理
};

修复步骤

1. 修正Firebase配置文件

移除环境变量的引号,同时修正拼写错误:

import { initializeApp } from "firebase/app";
import { getAuth } from 'firebase/auth';
import { getFirestore } from 'firebase/firestore';
import { getStorage } from 'firebase/storage';

export const firebaseConfig = {
  apiKey: import.meta.env.API_KEY,
  authDomain: import.meta.env.AUTH_DOMAIN,
  projectId: import.meta.env.PROJECT_ID,
  storageBucket: import.meta.env.STORAGE_BUCKET,
  messagingSenderId: import.meta.env.MESSAGING_SENDER_ID,
  appId: import.meta.env.APP_ID,
  measurementId: import.meta.env.MEASUREMENT_ID
};

export const app = initializeApp(firebaseConfig);
export const auth = getAuth(app)
export const db = getFirestore(app);
export const storage = getStorage(app);

2. 确认环境变量配置合规

Vite要求环境变量必须以VITE_开头才能被暴露,确保你的.env/.env.local文件格式正确:

VITE_API_KEY=你的实际API密钥
VITE_AUTH_DOMAIN=你的实际认证域名
VITE_PROJECT_ID=你的实际项目ID
# 其余变量按此格式填写

对应代码中需改为import.meta.env.VITE_API_KEY这类带前缀的变量名(如果你的环境变量名带VITE_前缀的话)。

3. 验证Firebase规则生效

确认权限规则已发布(而非草稿状态),以Firestore为例,测试规则应如下:

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

4. 重启开发服务

修改配置后必须重启Vite开发服务器,确保新配置加载生效。

验证修复

重启服务后尝试访问Firebase资源,权限拒绝错误应消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 12:37:27