【发布时间】:2020-06-26 09:25:22
【问题描述】:
在我的学习过程中,我创建了一个简单的 (Android) 游戏,其中用户的结果存储在 Firebase 数据库中。出于开发目的,我将 Firebase 规则设置为无限制地读/写。现在我想使用规则,只有我的应用程序可以在数据库中读/写。 我该怎么做?经过一番浏览,我发现了用户拥有自己的用户名/密码的示例。我没有那种应用程序。我只希望只有我的应用可以访问数据库。
【问题讨论】:
在我的学习过程中,我创建了一个简单的 (Android) 游戏,其中用户的结果存储在 Firebase 数据库中。出于开发目的,我将 Firebase 规则设置为无限制地读/写。现在我想使用规则,只有我的应用程序可以在数据库中读/写。 我该怎么做?经过一番浏览,我发现了用户拥有自己的用户名/密码的示例。我没有那种应用程序。我只希望只有我的应用可以访问数据库。
【问题讨论】:
这是一个规则示例,它为每个经过身份验证的用户提供一个位于/users/$user_id 的个人节点,其中$user_id 是通过Authentication 获得的用户ID。对于任何拥有用户私有数据的应用来说,这都是一种常见的情况。
// These rules grant access to a node matching the authenticated
// user's ID from the Firebase auth token
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
更多信息可以参考这里:https://firebase.google.com/docs/database/security/quickstart#user
【讨论】: