使用异步函数自定义身份验证流程

本文档介绍了如何使用异步 Cloud Run 函数扩展 Identity Platform 身份验证。

使用异步函数,您可以触发非屏蔽任务,以响应用户创建和删除操作。它们对于启动长时间运行的操作或执行辅助任务(例如发送欢迎电子邮件)非常有用。

如需直接修改身份验证操作的结果,请参阅使用屏蔽函数扩展身份验证。异步函数收到的用户对象不包含来自阻塞函数的更新。

准备工作

使用 Identity Platform 创建一个应用。如需了解具体方法,请参阅快速入门

创建异步函数

要创建和部署异步函数,请按照开始使用:编写、测试和部署您的第一批函数中的步骤操作。

响应用户创建

每次创建用户账号时,都会触发 onCreate 事件。这包括使用 Admin SDK 创建的匿名会话以及账号。在用户首次使用自定义令牌登录时不会触发此函数。

以下示例展示了如何为 onCreate 注册处理程序:

Node.js

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

响应用户删除

每次删除用户账号时,都会触发 onDelete 事件。以下示例展示了如何为 onDelete 注册处理程序:

Node.js

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

获取用户信息

onCreateonDelete 事件提供了 UserEventContext 对象,其中包含已创建用户或已删除用户的相关信息。例如:

Node.js

exports.myFunction = functions.auth.user().onCreate((user, context) => {
  const email = user.email; // The email of the user.
  const displayName = user.displayName; // The display name of the user.
});

如需查看可用字段的列表,请参阅 UserRecord API 参考文档EventContext API 参考文档

后续步骤