如何查看Firestore当前生效的安全规则集?
查看Firebase Cloud Firestore当前生效安全规则&验证部署状态的实用方法
我之前也被这个问题坑过好几次——部署完规则就急着测试,结果发现旧规则还在生效,白忙活半天!下面分享几个靠谱的方法帮你解决这个问题:
直接在Firebase控制台查看活跃规则
打开Firebase控制台的Cloud Firestore页面,切换到「规则」标签页。这里会明确区分「活跃」和「草稿」规则集:- 「活跃」标签下显示的就是当前正在生效的规则,还会标注最近一次部署的时间戳。
- 你可以把这个时间戳和你刚才部署的时间对比,确认是不是最新的版本。
用Firebase CLI命令精准查询生效规则
如果你习惯用命令行,直接在终端运行:firebase firestore:rules:get这个命令会返回云端当前完全生效的规则文本,和你本地部署的内容对比一下,就能确定规则是不是已经更新了。甚至可以写个简单的脚本,部署后每隔几秒执行一次这个命令,直到返回内容和本地一致,再开始测试,完全不用瞎等。
用实际请求验证规则是否生效
这是最直接的验证方式:写一个刚好触发新规则逻辑的测试请求。比如如果你的新规则禁止了某个文档的读取权限,就用Firebase SDK尝试读取该文档:- 如果请求被拒绝(返回权限不足的错误),说明新规则已经生效;
- 如果还能成功读取,那就是旧规则还在运行,再等一会儿试试。
额外小提示
Firebase规则部署的生效时间一般在30秒到2分钟之间,偶尔因为区域或网络波动会延迟一点。部署完成后,控制台显示的「部署成功」只是代表规则已经提交到云端,并不一定立刻生效,所以别急着马上测试,先通过上面的方法确认状态再动手。
内容的提问来源于stack exchange,提问作者Skepsis Dev
相关产品推荐
相关产品推荐

