Firebase Firestore仅Debug版本触发PERMISSION_DENIED权限不足错误
排查步骤
- 核对debug变体的Firebase配置与项目匹配性
确认src/debug目录下的google-services.json是否和release版本指向同一个Firebase项目:如果你的debug构建加了应用ID后缀(比如默认的.debug),需要确认该应用ID已经被添加到Firebase项目的应用列表中,同时debug签名的SHA1、SHA256值也已正确录入项目配置。 - 确认安全规则修改已生效且匹配对应数据库
- 修改规则后务必点击Firebase控制台规则页面的发布按钮,仅保存草稿不会生效
- 若你使用了Firestore多数据库功能,确认规则是绑定到你实际访问的数据库实例,而非仅配置了默认的
(default)数据库
- 清除本地缓存重试
完全卸载测试设备上的debug应用,清除所有本地持久化数据后重新安装运行,避免Firestore本地缓存的旧权限校验结果影响请求。 - 检查App Check配置
若你的Firebase项目启用了App Check防护,debug版本未配置合法的App Check凭证会直接返回权限不足错误,和安全规则拦截的报错完全一致:- 进入Firebase控制台「App Check」页面,确认当前应用的App Check配置
- 要么添加debug签名的SHA256到Play Integrity/SafetyNet允许列表,要么为debug应用生成临时调试令牌填入本地配置
- 核对API密钥访问限制
进入Google Cloud控制台的「API和服务 -> 凭据」页面,找到你的Firebase项目对应的Android API密钥:如果密钥设置了应用限制,需要将debug版本的包名、SHA1值添加到允许列表中,否则API请求会被直接拦截。
内容的提问来源于stack exchange,提问作者tigersunset
相关产品推荐
相关产品推荐

