Firebase:针对同一个项目中的每个应用程序进行自定义validation

我的问题是我的项目有2个应用程序。 一个应用程序只运行在我们知道的特定移动设备上,它不需要validation就可以与Firebase进行交互。 另一个是运行在许多移动设备上,它必须login到firebase才能相互通信。

那么,我想要做的是如何在firebase中configuration数据库规则到2个应用程序可以使用相同的数据库? 非常感谢大家! 为我的坏英语道歉。

您无法保护数据库访问权限以允许特定应用程序或特定设备。 请参阅如何防止其他人访问我的Firebase 。

但是如果您使用Firebase身份validation,则可以轻松将设备映射到属于特定用户。 如果您不想要求用户login,则甚至可以使用匿名身份validation。对于Firebase身份validation,每个用户都有唯一的用户ID(Firebase条款中的UID)。 而当你知道用户的UID时,你可以基于该UID保护对数据库的访问。

最近一个项目的一个例子是:

{ "rules": { ".read": true, ".write": "auth != null && root.child('config/whitelist').child(auth.uid).exists()" } } 

所以在这里,如果login用户的UID出现在node /config/whitelist下,我们允许写入。 例如

 config whitelist "jn0BrHQqUEYSjqvqfqzbJTMOlZ82": true "ytEtWqOfLkRk3OUjTKBtZnTehZc2" true