我们如何保护auth()。onDelete处理程序,使其不作为函数公开(因此用户代码无法调用它)?
我将处理程序定义为Firebase Cloud函数:
exports.deleteUser = functions.auth.user().onDelete((user, context) => { ... }
该函数似乎可以通过调用以下代码在客户端代码中执行:
var f = config.getFunctions().httpsCallable('deleteUser')
const rc = await f({user: 'abc'})
我希望该代码失败,就好像该函数不存在一样,但事实并非如此。运行“ firebase serve”,当我使用httpsCallable方法直接调用该函数时,我看到该函数正在执行。
我想确保在删除用户时会自动调用它,但绝不会这样。