提供特定用户访问权限的Firebase Storage安全规则

时间:2020-05-11 11:01:46

标签: javascript firebase firebase-authentication firebase-storage firebase-security

我构建了一个应用程序,允许客户购买访问权限,以下载使用Firebase Storage存储的文件。他们购买时,会使用Firebase Firestore将存储中的资产ID链接到其用户ID。 似乎无法更新Firebase Storage服务器端安全规则以使用Firestore记录。 但是,我发现可以向Firebase用户添加自定义声明,也可以更新存储中的图像元数据以包括用户ID。

https://firebase.google.com/docs/auth/admin/custom-claims

https://firebase.google.com/docs/storage/web/file-metadata

在扩展此应用程序方面,这是一种方法(更新用户自定义参数或更新存储资产元数据)是更好的方法,以检查用户是否可以使用Firebase Storage服务器端安全性访问他们尝试下载的资产。规则?

谢谢

1 个答案:

答案 0 :(得分:0)

任何一个都不比另一个更好。它们只是用于不同工作的不同工具。自定义声明提供了一种方式,使用户可以访问由对象匹配的规则定义的一组对象。元数据提供了一种标记单个对象以进行规则定义的访问的方法。在大多数情况下,它们在实用程序上并没有真正重叠。选择最适合您的用例的一个。