【发布时间】:2017-06-08 16:43:16
【问题描述】:
我正在开发一个读取 Firebase database 的 Android 应用程序。应用程序用户不会登录或修改数据库。所有应用程序用户都将查看相同的数据;我正在使用 Firebase 的实时更新功能。
理想情况下,我想限制对数据库的访问,以便只有我的应用程序可以读取数据。
我知道我可以做一些事情:
1.编写允许任何人阅读的安全规则,即
{
"rules": {
".read": true,
".write": false
}
}
缺点:任何人都可以阅读:(
2。编写allow authenticated users to read 的安全规则,然后将用户名和密码硬编码到应用程序中
{
"rules": {
"$user_id":{
".read": "auth.uid === $user_id",
".write": false
}
}
}
Con:在应用程序中硬编码用户名和密码似乎是非常错误的。另外,它实际上并没有锁定数据库,因为任何人都可以反编译应用程序,获取google-services.json 和硬编码的用户名/密码,然后编写自己的应用程序来共享我的包名。
谷歌搜索显示this,专门用于写作,this,表示“不”,但已经有几年了。
限制对数据库的访问的正确方法是什么?我是从错误的方向接近这个吗?
【问题讨论】:
-
您链接的答案仍然是正确的:无法将您的 Firebase 数据库的访问权限仅限于您的应用程序。
-
好的,谢谢@FrankvanPuffelen。
-
你最后的选择是什么?
-
@michiyo 你知道怎么做吗?
-
不,据我所知没有办法。
标签: android firebase firebase-realtime-database firebase-security