gpt4 book ai didi

javascript - Firebase 的云功能 - 了解哪个用户在 onWrite 中写入了数据

转载 作者:太空宇宙 更新时间:2023-11-03 22:27:16 26 4
gpt4 key购买 nike

我正在尝试制作一个简单的消息应用程序。在此过程中,我想使用firebase的云函数功能来执行出于安全考虑而不应在客户端执行的功能。

我希望在用户需要时调用许多函数。我现在尝试执行此操作的方法是让客户端在单个父项下推送小的“函数请求”对象,以便 onWrite 函数将触发,并且我可以解析请求对象来执行该函数(我的原因是不使用 http 函数是因为我想要某种方式来安全地知道哪个用户发出了请求)。

问题是我在 firebase 的文档中找不到方法来知道哪个用户写入了数据。

在index.js中我有

exports.requestFunction = functions.database.ref('/function-
requests/{pushId}')
.onWrite(event => {
// Parse event.data.val() for things like the function name and its
// parameters. Then actually call the function.
// Ideally I would also be able to parse event somehow to find the user
// who saved the data.
});

请注意,我已考虑将用户 ID 作为参数,但这太不安全,因为任何用户都可以通过提供不同的 uid 来冒充另一个用户。

最佳答案

你可以写一个Firebase Database Rule只允许用户在特定字段中写入自己的用户 ID,然后将其作为参数传递。

例如。

"user": {
".validate": "newData.val() === auth.uid"
},

关于javascript - Firebase 的云功能 - 了解哪个用户在 onWrite 中写入了数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44146753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com