gpt4 book ai didi

node.js - Firebase Cloud Firestore 触发器 context.auth 始终为 null

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

我正在使用 Firebase 和 Cloud Firestore 构建群组应用,用户应该能够在其中创建群组并向其中添加成员。

当用户创建组时,我希望云触发器在创建组后将该用户添加到组的成员列表中。触发器如下所示:

exports.addCreatorAsAdmin = firestore
.document('groups/{group}')
.onCreate((snap, context) => {
if (context.auth == null) { return unauthorizedError() }
const path = `groups/${context.params.group}/members/${context.auth.uid}`;
return db.doc(path).create({});
});

当我运行应用程序、登录用户并创建团队时,该功能被正确触发。但是,我总是遇到未经授权的错误,这意味着 context.auth为空。

TLDR;用户已正确登录,但触发器未经授权。谁能帮帮我吗?

最佳答案

Cloud Firestore 目前不支持 context.auth 来确定哪个用户进行了更改。从API documentation可以看出:

This field is only populated for Realtime Database triggers and Callable functions. For an unauthenticated user, this field is null. For Firebase admin users and event types that do not provide user information, this field does not exist.

您可以做的是让用户将其 UID 写入文档的字段,并使用 this post 中所述的安全规则进行验证。 .

关于node.js - Firebase Cloud Firestore 触发器 context.auth 始终为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58498007/

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