Firestore安全规则:允许用户仅创建文档

时间:2018-09-11 07:37:00

标签: firebase google-cloud-firestore firebase-security-rules

我有一个具有以下特征的应用程序:

  • 每个人都可以读取数据(公开)
  • 管理员(经过身份验证的用户)具有完全访问权限(读,写)
  • 用户可以创建发票
  • 发票数据不是公开的

这些是我想出的安全规则:

service cloud.firestore {
  match /databases/{database}/documents {
    match /invoices/{id} {
      allow read: if request.auth != null; // only admins can read data
      allow write: if request.auth != null; // only admins can write data (full access)

      allow create; // users can order stuff, hence they can create
    }
    match /{document=**} {
      allow read; // everything else except the invoices is public
      allow write: if request.auth != null; // if you are an admin, you have full access
    }
  }
}

问题在于,当使用this.ref = db.collection('invoices').doc()创建发票并使用this.ref.id在数据库中获取ID时,会出现Missing or insufficient permissions.错误。

我显然在这里做错了,希望对此提出任何建议。

0 个答案:

没有答案