您可以触发 Cloud Functions 以响应 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。
阻止函数让您可以执行自定义代码来修改用户注册或登录到您的应用程序的结果。例如,您可以阻止不满足特定条件的用户进行身份验证,或者在将用户信息返回到您的客户端应用程序之前更新用户信息。