首页 > 解决方案 > 保护 Cloud Functions auth onDelete 触发器

问题描述

我们如何保护 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 方法直接调用它时,我看到该函数正在执行。

我想确保在删除用户时自动调用它,但绝不会在其他情况下调用它。

标签: firebasefirebase-authentication

解决方案


推荐阅读