我正在尝试保护我的应用程序的后端,但我找不到任何解决方案。该文档也无济于事。
我有2个收藏集:用户和用户名;
我希望每个用户都有一个唯一的用户名,他们应该可以更改它。
这是我的数据的样子:
users
-user
-username
username
-uid
这些是我的规则:
match /users/{uid} {
allow write: if request.auth.uid != null && !exists(/username/$(resource.data.username));
}
match /username/{username} {
allow write: if request.auth.uid != null;
}
仅当用户名不存在或用户名的uid与经过身份验证的用户相同时,我才允许写入用户名。