您好,我需要为我的离子应用程序配置Firestore安全角色,如here所示。但是,当它应用于我的Firestore时,总是说拒绝权限。 如果我仅使用WRITE:TRUE,则正常工作。
在这里,我如何根据自己的定义安全角色
match /tournaments/{tournamentsID} {
allow read:if isLoggedIn();
allow write:if getUserData().roles.keys().hasAny(['subscriber']);
}
function getUserData(){
return get(/databases/$(database)/documents/users/$(request.auth.uid)).data
}
现在我将其编辑为
allow write:if get(/databases/$(database)/documents/users/$(request.auth.uid)).data.roles.subscriber == true
然后开始工作。
但是如果我尝试使用如下功能进行相同的操作
function getRole(role) {
return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.roles[role]
}
并像
一样打电话allow write:if getRole('subscriber') == true;
它不起作用