为特定用户提供访问权限的 Firebase 存储安全规则
Posted
技术标签:
【中文标题】为特定用户提供访问权限的 Firebase 存储安全规则【英文标题】:Firebase Storage security rules to provide specific users access 【发布时间】:2020-08-26 21:37:25 【问题描述】:我已经构建了一个应用,允许客户购买使用 Firebase 存储存储的下载文件的访问权限。当他们进行购买时,Storage 中的资产 ID 会使用 Firebase Firestore 链接到他们的用户 ID。 似乎无法更新 Firebase 存储服务器端安全规则以使用 Firestore 记录。 但是我发现可以向 Firebase 用户添加自定义声明或更新存储中的图像元数据以包含用户 ID。
https://firebase.google.com/docs/auth/admin/custom-claims
https://firebase.google.com/docs/storage/web/file-metadata
在扩展此应用以检查用户是否可以使用 Firebase 存储服务器端安全性访问他们尝试下载的资产方面,这两种方法(更新用户自定义参数或更新存储资产元数据)是否是更好的方法规则?
谢谢
【问题讨论】:
【参考方案1】:没有一个比另一个更好。它们只是用于不同工作的不同工具。自定义声明提供了一种让用户访问对象集的方法,这些对象由匹配这些对象的规则定义。元数据提供了一种标记单个对象以供规则定义的访问的方法。在大多数情况下,它们在效用上并没有真正重叠。选择最适合您的用例。
【讨论】:
以上是关于为特定用户提供访问权限的 Firebase 存储安全规则的主要内容,如果未能解决你的问题,请参考以下文章
request.auth != null 和 request.auth == null 不提供访问权限,其中 true 提供 - firebase 存储