v6.1.0 中 Firebase 函数身份验证触发器出现类型错误

问题描述 投票:0回答:1

我尝试使用 Firebase Functions v6.1.0 设置用于删除用户的 Firebase Auth 触发器,但出现 TypeError。这是我的最小复制案例:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
const { getFirestore } = require('firebase-admin/firestore');
admin.initializeApp();

exports.registerUser = functions.https.onCall(async (data, context) => {
    
});

exports.deleteUser = functions.auth.user().onDelete(async () => { // <<<< ERROR
    
});

这会产生错误:

TypeError: Cannot read properties of undefined (reading 'user')
    at Object.<anonymous> (/Users/thierry/Documents/firebase-app/functions/index.js:16:37)
    at Module._compile (node:internal/modules/cjs/loader:1546:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1691:10)
    at Module.load (node:internal/modules/cjs/loader:1317:32)
    at Module._load (node:internal/modules/cjs/loader:1127:12)
    at TracingChannel.traceSync (node:diagnostics_channel:315:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
    at Module.require (node:internal/modules/cjs/loader:1339:12)
    at require (node:internal/modules/helpers:135:16)
    at loadModule (/Users/thierry/Documents/firebase-app/functions/node_modules/firebase-functions/lib/runtime/loader.js:40:16)

环境:

firebase 函数:6.1.0 firebase 管理员:12.7.0 Node.js:22

我尝试过各种语法,包括:

functions.auth.user().beforeDelete 函数.identity.beforeUserDeleted functions.auth.userDeleted().onEvent

但它们都不起作用。根据 Firebase 文档,这应该是正确的语法。 如何在 Firebase Functions v6.1.0 中正确设置用于删除用户的身份验证触发器?

谢谢!

firebase-authentication google-cloud-functions firebase-admin google-api-nodejs-client
1个回答
0
投票

根据 Firebase 文档在用户删除时触发函数,它期望在回调函数中使用用户变量

这就是为什么您的用户未定义。

exports.sendByeEmail = functions.auth.user().onDelete(async (user) => {
  // ...                                                     
});
© www.soinside.com 2019 - 2024. All rights reserved.