【发布时间】:2020-11-02 21:19:04
【问题描述】:
我有一个包含多个组的数据库 - 每个组都有自己的角色(管理员、模组等)
我在 Firestore 上设置了规则。
如何在存储规则上复制它?
【问题讨论】:
标签: firebase google-cloud-firestore firebase-storage firebase-security
我有一个包含多个组的数据库 - 每个组都有自己的角色(管理员、模组等)
我在 Firestore 上设置了规则。
如何在存储规则上复制它?
【问题讨论】:
标签: firebase google-cloud-firestore firebase-storage firebase-security
简而言之,你不能不进行认真的修改。
存储规则无法访问 Firestore 文档。所以你在 Firestore 中的所有关系都不能在 Storage 中使用。
您可以使用 Firebase Auth custom claims 附加可在 Firestore 和 Storage 中使用的每个用户数据,但这意味着您必须将该关系数据复制到这些声明中,并在后端代码中保持同步。
您还可以将 Firestore 中的数据复制到附加到存储中文件的 metadata 中,并在安全规则中使用该元数据来确定谁可以读取或写入单个文件。
这些是您唯一可行的选择,无需创建您自己的强制安全性的后端 API 端点。
【讨论】:
request.auth.token。 firebase.google.com/docs/reference/security/storage#auth