Firebase Auth onDelete触发器在用户创建时误触发问题排查
更新于2023年10月4日:
我更新了系统上的firebase-tools,现在触发器可以正常工作了。如果未来有人遇到相同问题,可以尝试同样的方法。更新命令为npm install -g firebase-tools
我正为这个问题困惑不已:
我创建了一个简单的Auth触发器函数,每当新用户账户创建时,会在Cloud Firestore中生成一个文档。该功能此前一直运行正常。
现在我想添加一个新函数,在用户账户删除时删除对应的文档。
然而令我惊讶的是,.onDelete()触发器在创建新用户时也会触发,导致用户文档刚创建就被立即删除……
我在Firebase模拟器中调试该问题,因为我有一个生产环境应用,不想影响活跃用户群。
以下是我的代码,已经尽可能简洁。我哪里出错了?这是Firebase的严重Bug,还是我遗漏了什么?
exports.initializeUserDocUponRegistration = functions.region("europe-west1").auth.user().onCreate( async (user) => { await db .doc(`users/${user.uid}`) .set( { uid: user.uid, }, ); }); exports.deleteUserDocsUponAccountDeletion = functions.region("europe-west1").auth.user().onDelete( async (user) => { const userDocRef = db.collection("users").doc(user.uid); await db.recursiveDelete(userDocRef); });
以下是创建新用户时的函数日志。
内容的提问来源于stack exchange,提问作者Flying Wizzy
相关产品推荐
相关产品推荐

