我的问题是我的项目有2个应用程序。一个应用程序只运行在我们已知的特定移动设备中,它与firebase进行交互而不进行身份验证。另一个是在许多移动设备上运行,它必须登录到firebase中才能相互通信。
那么,我想要做的是如何在firebase中配置数据库规则到2 app可以使用相同的数据库?非常感谢大家!为我糟糕的英语道歉。
答案 0 :(得分:0)
您无法保护数据库访问权限以允许特定应用或特定设备。见How to prevent other access to my firebase。
但是,如果您使用Firebase身份验证,则可以轻松地将设备映射为属于特定用户。如果您不想要求用户登录,您甚至可以使用匿名身份验证。使用Firebase身份验证,每个用户都有一个唯一的用户ID(Firebase术语中的UID)。当您知道用户的UID时,您可以根据该UID保护对数据库的访问。
最近项目的一个例子:
{
"rules": {
".read": true,
".write": "auth != null &&
root.child('config/whitelist').child(auth.uid).exists()"
}
}
所以在这里,如果登录用户的UID存在于节点/config/whitelist
下,我们允许写入。 E.g。
config
whitelist
"jn0BrHQqUEYSjqvqfqzbJTMOlZ82": true
"ytEtWqOfLkRk3OUjTKBtZnTehZc2" true