使用 Cloud Functions 扩展 Firebase Authentication

您可以触发函数来响应 Firebase 用户账号的创建和删除事件。例如,如果用户刚在您的应用中创建了账号,您可以向其发送欢迎电子邮件。参考此页面上的示例 - 在创建和删除账号时发送欢迎和告别电子邮件。

如需查看更多应用场景示例,请参阅Cloud Functions 有哪些用途?”

在创建用户时触发函数

您可以创建使用 functions.auth.user().onCreate() 事件处理脚本创建 Firebase 用户时触发的函数。

exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
  // ...
});

在以下情况下,Firebase 账号会为 Cloud Functions 触发用户创建事件:

  • 用户创建了电子邮件账号和密码。
  • 用户首次通过联合身份提供方登录。
  • 开发者使用 Firebase Admin SDK 创建账号。
  • 用户首次登录新的匿名身份验证会话。

用户首次使用自定义令牌登录时,系统不会触发 Cloud Functions 事件

访问用户属性

通过返回给函数的用户数据,您可以访问新建用户的 UserRecord 对象中提供的用户属性列表。例如,您可以获取用户的电子邮件地址和显示名,如下所示:

const email = user.email; // The email of the user.
const displayName = user.displayName; // The display name of the user.

在删除用户时触发函数

与在创建用户时触发函数一样,您也可以在删除用户时触发函数。请使用 functions.auth.user().onDelete() 事件处理脚本,如下所示:

exports.sendByeEmail = functions.auth.user().onDelete((user) => {
  // ...
});

触发屏蔽函数

如果您已升级到 Firebase Authentication with Identity Platform,则可以使用 Cloud Functions 屏蔽函数扩展 Firebase Authentication

通过屏蔽函数,您可以执行自定义代码,以修改用户注册或登录应用的结果。例如,您可以禁止不符合特定标准的用户通过身份验证,或者首先对用户的信息进行更新,然后再将此信息返回到您的客户端应用。