【发布时间】:2019-05-12 10:00:12
【问题描述】:
我有一个管理网站,可以将文件上传到 Firebase 存储中的特定文件夹。
从存储云函数中,我需要从上传文件的用户那里获取经过身份验证的 userId。我需要这个,因为当用户上传文件时,云功能启动,做一些处理,并将信息保存在实时数据库中,我需要保存上传操作的负责用户。
我看到从实时数据库云功能获取用户很简单(使用 context.auth.uid),但我没有找到任何类似的存储云功能的解决方案。
有可能吗?
Tks.
【问题讨论】:
-
目前没有与来自 Cloud Storage 的 Cloud Functions 触发器关联的用户的元数据。解决方法是在路径中传递有关用户的信息,使用Storage security rules 以确保它们是准确的。
-
感谢@Frank!但我的问题是经过身份验证的用户在我的存储中没有路径,我试图避免创建此路径,上传文件然后将其移动到正确的管理路径以获取用户 ID。
-
如果您希望以安全的方式使用 UID,则必须以某种方式将其传入,无论是在路径中还是在元数据中。
-
我很确定给定的答案是正确的。它演示了如何将 uid 添加到元数据中,并使用安全规则来确保它是正确的。
标签: node.js firebase google-cloud-functions firebase-storage