Creating/Adding 个 Firebase 用户
Creating/Adding user on Firebase
我一直在玩 Firebase,但遇到了一个问题,我试图查看一些文档,但找不到合适的答案。
问题是 Firebase 提供了用户身份验证,这很好,但是我可以为该用户设置一些限制吗?所以它只能访问我的数据库方案的一部分吗?例如:我的数据库中有两个组:
https://MYFIREBASE.firebaseio.com/group1/posts/
https://MYFIREBASE.firebaseio.com/group2/posts/
哪个有不同的用户,不同的帖子。
谢谢!!
You're looking for Security Rules.
安全规则是限制访问您的 Firebase 数据库的服务器端验证。
以下是只读数据库的规则。
{
"rules": {
".read": true,
".false": false
}
}
安全规则提供保存重要服务器端信息的服务器变量。 The variable you'll be interested in is the auth
variable.
auth 变量允许您检查尝试访问数据库的用户是否经过身份验证。
{
"rules": {
"group1": {
".read": "auth !== null",
".write": "auth !== null"
}
}
}
根据以上规则,只有经过身份验证的用户才能访问 /group1
位置。
但对于基于用户的安全性,您需要使用用户的 uid
进行索引。
{
"rules": {
"group1": {
"posts": {
"$uid": {
".read": "auth.uid == $uid",
".write": "auth.uid == $uid"
}
}
}
}
}
和using wildcards (which are basically route parameters),您可以检查尝试访问数据的用户是否拥有该数据。
我一直在玩 Firebase,但遇到了一个问题,我试图查看一些文档,但找不到合适的答案。
问题是 Firebase 提供了用户身份验证,这很好,但是我可以为该用户设置一些限制吗?所以它只能访问我的数据库方案的一部分吗?例如:我的数据库中有两个组:
https://MYFIREBASE.firebaseio.com/group1/posts/ https://MYFIREBASE.firebaseio.com/group2/posts/
哪个有不同的用户,不同的帖子。
谢谢!!
You're looking for Security Rules.
安全规则是限制访问您的 Firebase 数据库的服务器端验证。
以下是只读数据库的规则。
{
"rules": {
".read": true,
".false": false
}
}
安全规则提供保存重要服务器端信息的服务器变量。 The variable you'll be interested in is the auth
variable.
auth 变量允许您检查尝试访问数据库的用户是否经过身份验证。
{
"rules": {
"group1": {
".read": "auth !== null",
".write": "auth !== null"
}
}
}
根据以上规则,只有经过身份验证的用户才能访问 /group1
位置。
但对于基于用户的安全性,您需要使用用户的 uid
进行索引。
{
"rules": {
"group1": {
"posts": {
"$uid": {
".read": "auth.uid == $uid",
".write": "auth.uid == $uid"
}
}
}
}
}
和using wildcards (which are basically route parameters),您可以检查尝试访问数据的用户是否拥有该数据。