我想要实现的是非常简单的.我只需要在数据库中创建一个用户条目就不需要了.
应用程序流程:
客户端代码(创建操作):
this.db.doc('users/' + uid).set({username: Santa})
Run Code Online (Sandbox Code Playgroud)
火库规则:
service cloud.firestore {
match /databases/{database}/documents {
match /users/{uid} {
allow create: if
request.auth != null &&
request.auth.uid == uid &&
!exists(/databases/$(database)/documents/users/$(uid));
allow update: if request.auth != null && request.auth.uid == uid;
}
}
}
Run Code Online (Sandbox Code Playgroud)
附加信息:
您可能已经知道代码不起作用.每次运行客户端代码时,当前用户都会被新文档完全替换.但是,如果我从规则中删除以下行,一切都按预期工作:
allow update: if request.auth != null && request.auth.uid == uid;
但现在问题出现了,我如何保护用户文档中的数据免受未经授权的修改?有什么建议?