Firebase:为同一项目中的每个应用程序定制的身份验证

时间:2017-03-04 10:10:49

标签: android ios firebase

我的问题是我的项目有2个应用程序。一个应用程序只运行在我们已知的特定移动设备中,它与firebase进行交互而不进行身份验证。另一个是在许多移动设备上运行,它必须登录到firebase中才能相互通信。

那么,我想要做的是如何在firebase中配置数据库规则到2 app可以使用相同的数据库?非常感谢大家!为我糟糕的英语道歉。

1 个答案:

答案 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