对我来说,这是用户生成内容的最基本的身份验证方案,给定一个名为“帖子”的集合:
到目前为止,我发现的所有示例似乎都依赖于文档ID与用户ID相同,后者仅适用于用户的“个人资料”数据(同样,所有示例似乎都适用于这种有限的情况) 。
似乎在创建文档时似乎没有关于经过身份验证的用户身份的元数据,因此似乎我必须自己将ID存储在文档上,但是我无法通过此操作指向并创建一个工作示例。此外,由于用户ID是由客户端设置的,因此这也为用户提供了与其他用户一样创建文档的机会。
我觉得我在这里缺少一些基本的东西,因为这必须是最基本的情况,但尚未找到任何简洁的例子来做。
非常感谢您的帮助,谢谢!
// Checks auth uid equals database node uid
// In other words, the User can only access their own data
{
"rules": {
"posts": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}