firestore:权限丢失或不足

时间:2018-04-03 05:46:10

标签: angular ionic-framework google-cloud-firestore

我正在使用Role(允许读取,写入:if request.auth.uid!= null)当我登录时我得到的数据没问题,但是当我注销用户时我收到错误:权限丢失或不足。首先我认为这是因为我没有取消订阅我试过的Observable(rxjs / operator / takeWhile),即使我使用了异步管道,我也得到了同样的错误。

1 个答案:

答案 0 :(得分:0)

如果您注销,则request.auth.id == null,因此,您的读取规则返回false。 尝试更改为:

allow read;
allow create: if request.auth.uid != null; 

这允许任何人阅读并且仅创建经过身份验证的用户。通常,您只希望作者进行更新。为此,您需要将文档中作者的uid保存为 userid 之类的属性,然后可以像这样更新规则:

match /myCollection/{document=**} {
  allow read;
  allow create: if request.auth.uid != null; 
  allow update: if isOwner();
}

function existingData() {
  return resource.data
}

function isOwner() {
  return request.auth.uid == existingData().userid;
}