Firebase 实时数据库仿真器忽略database.rules.json
我有一个使用实时数据库的Firebase项目,我正在尝试设置本地模拟器进行测试。不幸的是,Firebase cli似乎正在导入我的Firebase 实时数据库仿真器忽略database.rules.json,firebase,firebase-realtime-database,firebase-security,firebase-cli,Firebase,Firebase Realtime Database,Firebase Security,Firebase Cli,我有一个使用实时数据库的Firebase项目,我正在尝试设置本地模拟器进行测试。不幸的是,Firebase cli似乎正在导入我的database.rules.json文件。甚至在创建一个测试项目来解决这个特定问题之后,这种情况也会发生 让我给你一些关于我的设置的信息 我创建了一个没有启用任何功能的Firebase项目。我在本地计算机上创建了一个空目录,并运行了firebase init database。这样做会创建一些文件: .firebaserc { "projects": {
database.rules.json
文件。甚至在创建一个测试项目来解决这个特定问题之后,这种情况也会发生
让我给你一些关于我的设置的信息
我创建了一个没有启用任何功能的Firebase项目。我在本地计算机上创建了一个空目录,并运行了firebase init database
。这样做会创建一些文件:
.firebaserc
{
"projects": {
"default": "emulators-test-244be"
}
}
firebase.json
{
"database": {
"rules": "database.rules.json"
}
}
database.rules.json
(我在这里修改了规则以锁定数据库)
当我使用firebase仿真器:start--only database
运行仿真器时,控制台告诉我数据库已成功初始化。但是,当我访问http://localhost:9000/.inspect/coverage?ns=emulators-test-244be
要查看当前加载的安全规则,它提供以下输出:
{
"rules": {
".read": true,
".write": true
}
}
显然,这与我在database.rules.json
文件中设置的规则直接冲突
我注意到的一点是,如果在emulator运行时修改database.rules.json
文件,我会从控制台获得以下输出:
i数据库:检测到更改,正在更新未定义的规则…
显然,这样做会导致仿真器创建一个名为undefined
的新数据库。当我转到http://localhost:9000/.inspect/coverage?ns=undefined
,输出正确反映了我在数据库.rules.json
文件中设置的内容
为什么会这样?我是否错误地设置了本地Firebase项目?或者Firebase CLI中是否存在错误?我搜索了Firebase文档、Stack Overflow和Google。我什么也没找到
我有firebase工具版本8.4.3
更新
在搜索了firebase tools
GitHub repo上的问题之后,这似乎是一个bug
链接此处:
{
"rules": {
".read": true,
".write": true
}
}