每当执行实时数据库操作时,我都会尝试检索 uid(在服务器端)。我在第一代 Firebase 云功能中看到,您可以通过访问
context.auth.uid
来完成此操作,如 docs 中所示。但在第二代上,文档没有说。我该怎么办?
firebaser在这里
第一代 Firebase Cloud Functions 确实有一个可用于实时数据库触发器的
context.auth
参数,用于指定数据库写入时应用程序中的当前用户。
由于底层架构的变化,目前第二代 Cloud Functions 中还没有与此
context.auth
等效的功能。因此,目前,您必须以与其他触发器类型相同的方式解决此问题:将 UID 作为上下文/路径的一部分传递,并确保用户只能通过以下方式写入自己的 UID:安全规则。这并不是非常困难,但考虑到这曾经是内置功能,确实很麻烦。
内部有兴趣将其恢复,因此我建议在 firebase.uservoice.com 上并向 Firebase 支持团队提交功能请求。
更新:2024 年初,身份验证上下文已添加到第 2 代 Cloud Functions 的 Cloud Firestore 事件触发器中,您可以在此处了解更多信息。因此,虽然实时数据库触发器的信息仍然不可用,但这表明它至少在系统中是可行的。