0

仅将Firebase作为数据库用于应用程序。将Firebase作为后端数据库用于移动应用程序

我想使用Firebase存储全球用户的全球数据。用户认证不需要访问这些数据。

因此,所有用户将能够访问相同的数据。例如,“新闻文章”对所有用户都是一样的。用户无需认证即可访问该新闻。

如何设置android应用程序以安全地访问所有用户的Firebase数据?

通过“安全”,我的意思是我不想包证书与应用程序访问数据库。否则,任何人都可以访问数据并擦除它或损坏它。

基于快速调查,我发现可能有2种方式:

  1. 火力地堡REST API 使用火力地堡REST APIservice account token访问火力地堡数据。

  2. Firebase身份验证 使用其中一个身份验证模式。例如使用email & password authcustom authcustom token。 我会假设他们都要求我将密码或令牌与应用程序捆绑在一起。

已经有人设计了这样的使用情况的应用程序?任何指针将不胜感激。

+0

简答:对于此用例,“app-as-user”,不可能避免捆绑用于访问Firebase实例的凭证。 _(请参阅接受的答案中的评论)_ –

回答

1

Firebase Authentication不需要捆绑任何东西。您的用户提供自己的凭据。设备上的Google Play服务提供的安全性是,只有您的应用使用您的签名密钥签名才能接收授权用户对您通过安全规则决定的数据执行操作的令牌。

+0

感谢Doug提供的信息。对于这个用例,我将应用程序本身视为从Firebase访问数据并向最终用户展示的用户。因此,在这种情况下,由于我必须为此应用创建特殊用户才能访问数据,因此我需要绑定这些凭据才能访问Firebase实例。什么是REST API的理想用例,何时会有人使用该选项? –

+1

没有办法保护对“只是你的应用程序”的访问权限,而无需将你的应用程序转变为用户(并因此在那里编码凭证)。请参阅http://stackoverflow.com/questions/18005984/how-to-prevent-other-access-to-my-firebase。要访问Firebase数据库,您需要允许公开阅读权限('“.read”:true')或对用户进行签名(通过他们的帐户或[匿名](https://firebase.google.com /文档/认证/安卓/匿名验证))。 –

+0

感谢您的确认。我希望有更好的办法。我了解Firebase并非专为此用例而设计。我会尝试先修改REST API并接受Doug的回答,人们应该能够从评论中找到实际答案。 –

相关问题