如何根据数据库用户 ID(不是 uid)设置 firebase 规则
How to set firebase rules based on database user id (not uid)
您好,我的 fb 数据库中有一个用户列表。用户 ID 是在成功注册后自动生成的,每个用户条目都有姓名、电子邮件和 uid。此外,这些属性中的每一个都在 /index 中建立了索引,这样我就可以根据用户的 uid 轻松查找用户的 id。
根据文档,firebase 说要使用 write: $user_id === auth.uid
如何使用生成的 ID 而不是 uid 来完成此操作?
这是脸书数据库:https://medviz.firebaseio.com/
在你的用户对象中会有这样的用户
users : {
user1234abc:{
name: "abc"
},
user2434dbcc:{
name: "abc"
}
}
您将在用户对象中有许多 unique key/user nodes
,例如 user1234abc
、user2434dbcc
该唯一键可以在规则中命名为任何 variable
,不必将其命名为 $user_id
,您可以随意命名,例如您可以将变量命名为 $any_variable
用于唯一用户密钥
并且在 auth.id 中,只要用户成功验证相同的唯一 ID 在 auth.uid
中,因此当您编辑与该用户相关的信息时,您可以在任何地方计算 auth.uid
例如,如果 auth.uid
包含 user1234abc
并且如果 user1234abc
正在编辑此对象 user1234abc:{name: "abc" }
那么根据 .write 规则他将能够
查看下面的更新视图
更新的视觉层次结构:
--schema--
users : {
________________
|
user1234abc:{ |
name: "abc" |
}, |
user2434dbcc:{ |
name: "abc" |
} |
} key can be name as any variable in rules
|
-- rules--
|
{ |
"rules": { |
"users": { |
".read": true, |
________________|___________
| |
\|/ |
"$any_variable": { \|/
".write": "$any_variable === auth.uid"
}
}
}
}
您好,我的 fb 数据库中有一个用户列表。用户 ID 是在成功注册后自动生成的,每个用户条目都有姓名、电子邮件和 uid。此外,这些属性中的每一个都在 /index 中建立了索引,这样我就可以根据用户的 uid 轻松查找用户的 id。
根据文档,firebase 说要使用 write: $user_id === auth.uid
如何使用生成的 ID 而不是 uid 来完成此操作?
这是脸书数据库:https://medviz.firebaseio.com/
在你的用户对象中会有这样的用户
users : {
user1234abc:{
name: "abc"
},
user2434dbcc:{
name: "abc"
}
}
您将在用户对象中有许多 unique key/user nodes
,例如 user1234abc
、user2434dbcc
该唯一键可以在规则中命名为任何 variable
,不必将其命名为 $user_id
,您可以随意命名,例如您可以将变量命名为 $any_variable
用于唯一用户密钥
并且在 auth.id 中,只要用户成功验证相同的唯一 ID 在 auth.uid
中,因此当您编辑与该用户相关的信息时,您可以在任何地方计算 auth.uid
例如,如果 auth.uid
包含 user1234abc
并且如果 user1234abc
正在编辑此对象 user1234abc:{name: "abc" }
那么根据 .write 规则他将能够
查看下面的更新视图
更新的视觉层次结构:
--schema--
users : {
________________
|
user1234abc:{ |
name: "abc" |
}, |
user2434dbcc:{ |
name: "abc" |
} |
} key can be name as any variable in rules
|
-- rules--
|
{ |
"rules": { |
"users": { |
".read": true, |
________________|___________
| |
\|/ |
"$any_variable": { \|/
".write": "$any_variable === auth.uid"
}
}
}
}