锁定Firebase DB对特定应用程序的访问

锁定Firebase DB对特定应用程序的访问,firebase,firebase-realtime-database,firebase-authentication,firebase-security,Firebase,Firebase Realtime Database,Firebase Authentication,Firebase Security,我认为从网上搜索这在技术上是不可能的,但我想再问一次,以防我遗漏了什么 我有一个使用Firebase的应用程序。只有授权用户才能通过安全规则锁定读写,但我希望未授权用户能够访问某些信息(因此我不必在他们前面设置登录墙,从而影响客户流失) 我想知道的是,是否有任何方法可以锁定只有我的应用程序才能调用DB的读取访问?我知道我可以锁定域以防止有人编写localhost scraper,但如何阻止有人克隆和重新封装应用程序并将其指向同一后端?使用您的证书指纹可以实现这一点吗?无法将对数据库的访问限制为仅

我认为从网上搜索这在技术上是不可能的,但我想再问一次,以防我遗漏了什么

我有一个使用Firebase的应用程序。只有授权用户才能通过安全规则锁定读写,但我希望未授权用户能够访问某些信息(因此我不必在他们前面设置登录墙,从而影响客户流失)


我想知道的是,是否有任何方法可以锁定只有我的应用程序才能调用DB的读取访问?我知道我可以锁定域以防止有人编写localhost scraper,但如何阻止有人克隆和重新封装应用程序并将其指向同一后端?使用您的证书指纹可以实现这一点吗?

无法将对数据库的访问限制为仅对应用程序的访问。这和Firebase API基于云的特性不匹配。任何知道数据库URL的人原则上都可以访问它,安全规则是确保所有访问都得到授权的方法

请注意,安全规则不是全有或全无的方法:您可以要求登录数据库的某些部分,而让其他部分公开可读。但是你不能让公开可读的部分只被你自己的应用程序可读

之前关于同一主题的一些问题:

  • (这几乎是我的答案)

我找到了一个解决方案,可能对您或任何有类似问题的人都有帮助。我回答了这个问题:


感谢您的回答,尤其是第一个链接,我认为现在更有意义了