我正在开发一款可从Firebase数据库中读取的Android应用.App用户不会登录或修改数据库.所有应用用户都将查看相同的数据; 我正在使用Firebase进行实时更新.
理想情况下,我想限制对数据库的访问,以便只有我的应用程序才能读取数据.
我知道我可以做的一些事情:
1.编写允许任何人阅读的安全规则,即
{ "rules": { ".read": true, ".write": false } }
骗局:任何人都可以阅读:(
2.编写允许经过身份验证的用户阅读的安全规则,然后将用户名和密码硬编码到应用程序中
{ "rules": { "$user_id":{ ".read": "auth.uid === $user_id", ".write": false } } }
Con:在应用程序中硬编码用户名和密码似乎非常错误.此外,它实际上并没有锁定数据库,因为任何人都可以反编译应用程序,获取google-services.json
和硬编码的用户名/密码,并编写自己的应用程序共享我的包名称.
谷歌搜索已经揭示了这一点,这是写作的具体内容,而这就是"不",但已经有几年了.
限制访问数据库的正确方法是什么?我是从错误的方向接近这个吗?