跳到主要内容

Webhooks 事件

本指南列出了不同的 Logto Webhook 事件,并解释了每个事件发生的时机。

用户交互 Webhook 事件

事件类型描述
PostRegister用户通过 UI 界面成功创建新账户。
PostSignIn用户通过 UI 界面成功登录。
PostResetPassword用户通过“忘记密码”流程成功重置密码。

数据变更 Webhook 事件

用户

事件类型描述
User.Created创建了新的用户账户。
User.Deleted用户账户被删除。
User.Data.Updated用户资料数据被更新,例如邮箱、头像、custom.data、社交标识等。
User.SuspensionStatus.Updated用户的封禁状态发生变化(被封禁或重新激活)。

角色 (Role)

事件类型描述
Role.Created创建了新的角色 (Role)。
Role.Deleted角色 (Role) 被删除。
Role.Data.Updated角色 (Role) 的数据被更新,例如角色名称、描述和默认角色状态。
Role.Scopes.Updated分配给角色 (Role) 的权限 (Permissions) 被添加或移除。

权限 (Scope)

事件类型描述
Scope.Created创建了新的 API 权限 (Permission)。
Scope.DeletedAPI 权限 (Permission) 被删除。
Scope.Data.UpdatedAPI 权限 (Permission) 的数据被更新,例如权限描述。

组织 (Organization)

事件类型描述
Organization.Created创建了新的组织 (Organization)。
Organization.Deleted组织 (Organization) 被删除。
Organization.Data.Updated组织 (Organization) 的数据被更新,例如组织名称、描述、custom.data 等。
Organization.Membership.Updated用户或应用程序被添加到或移出组织 (Organization)。负载包含 成员变更字段

组织角色 (Organization role)

事件类型描述
OrganizationRole.Created创建了新的组织角色 (Organization role)。
OrganizationRole.Deleted组织角色 (Organization role) 被删除。
OrganizationRole.Data.Updated组织角色 (Organization role) 的数据被更新,例如组织角色名称和描述。
OrganizationRole.Scopes.Updated分配给组织角色 (Organization role) 的权限 (Permissions) 被添加或移除。

组织权限 (Organization permission, scope)

事件类型描述
OrganizationScope.Created创建了新的组织权限 (Organization permission)。
OrganizationScope.Deleted组织权限 (Organization permission) 被删除。
OrganizationScope.Data.Updated组织权限 (Organization permission) 的数据被更新,例如组织权限描述。

可信设备 (Trusted device)

事件类型描述
TrustedDevice.Created成功认证 (Authentication) 交互后创建了可信设备记录。
TrustedDevice.Deleted用户或管理员移除了可信设备记录。

自然过期不会触发 TrustedDevice.Expired webhook,因为过期是基于时间的有效性变化,而不是应用变更。TrustedDevice.Created 的负载包含 expiresAt 字段,因此使用者可以推导出预期的过期时间。成功使用和可信设备策略变更不会触发生命周期 webhook。

Management API 触发的事件

API 端点事件
POST /usersUser.Created
DELETE /users/:userIdUser.Deleted
PATCH /users/:userIdUser.Data.Updated
PATCH /users/:userId/custom-dataUser.Data.Updated
PATCH /users/:userId/profileUser.Data.Updated
PATCH /users/:userId/passwordUser.Data.Updated
PATCH /users/:userId/is-suspendedUser.SuspensionStatus.Updated
POST /rolesRole.Created, (Role.Scopes.Update)
DELETE /roles/:idRole.Deleted
PATCH /roles/:idRole.Data.Updated
POST /roles/:id/scopesRole.Scopes.Updated
DELETE /roles/:id/scopes/:scopeIdRole.Scopes.Updated
POST /resources/:resourceId/scopesScope.Created
DELETE /resources/:resourceId/scopes/:scopeIdScope.Deleted
PATCH /resources/:resourceId/scopes/:scopeIdScope.Data.Updated
POST /organizationsOrganization.Created
DELETE /organizations/:idOrganization.Deleted
PATCH /organizations/:idOrganization.Data.Updated
PUT /organizations/:id/usersOrganization.Membership.Updated
POST /organizations/:id/usersOrganization.Membership.Updated
DELETE /organizations/:id/users/:userIdOrganization.Membership.Updated
PUT /organizations/:id/applicationsOrganization.Membership.Updated
POST /organizations/:id/applicationsOrganization.Membership.Updated
DELETE /organizations/:id/applications/:applicationIdOrganization.Membership.Updated
PUT /organization-invitations/:id/status (Accepted)Organization.Membership.Updated
POST /organization-rolesOrganizationRole.Created, (OrganizationRole.Scopes.Updated)
DELETE /organization-roles/:idOrganizationRole.Deleted
PATCH /organization-roles/:idOrganizationRole.Data.Updated
POST /organization-scopesOrganizationScope.Created
DELETE /organization-scopes/:idOrganizationScope.Deleted
PATCH /organization-scopes/:idOrganizationScope.Data.Updated
PUT /organization-roles/:id/scopesOrganizationRole.Scopes.Updated
POST /organization-roles/:id/scopesOrganizationRole.Scopes.Updated
DELETE /organization-roles/:id/scopes/:organizationScopeIdOrganizationRole.Scopes.Updated

Experience API 触发的事件

用户交互操作事件
用户邮箱 / 手机号绑定User.Data.Updated
用户 MFA 绑定User.Data.Updated
用户社交 / SSO 绑定User.Data.Updated
用户密码重置User.Data.Updated
用户注册User.Created
用户通过 即时供应(匹配邮箱域名或企业 SSO 连接器)自动加入组织 (Organization)Organization.Membership.Updated

异常 Webhook 事件

安全 (Security)

事件类型描述
Identifier.Lockout由于连续身份验证失败,用户账户被锁定。可在以下流程中触发:
  • 密码验证失败
  • 验证码验证失败
  • 一次性令牌验证失败
Message.RateLimited终端用户超过了每个收件人的 发送速率限制(用于验证码)。仅在终端用户发送路径(Experience API 和 Account API)触发,负载为 { action, recipient }
Grant.LimitExceeded成功授权 (Authorization) 导致用户超过应用的 最大并发认证 (Authentication) 设备数maxAllowedGrants),Logto 会撤销其最早的授权。

常见问题

PostRegisterUser.Created 有什么区别?

PostRegister 在用户通过用户注册流程成功创建新账户时触发;User.Created 在通过 Management API 创建新用户账户时触发。