跳至主要內容

Webhooks 事件

本指南列出不同的 Logto Webhook 事件,並說明每個事件發生的時機。

使用者互動 Webhook 事件​

Event typeDescription
PostRegister使用者透過 UI 介面成功建立新帳號。
PostSignIn使用者透過 UI 介面成功登入。
PostResetPassword使用者透過「忘記密碼」流程成功重設密碼。

資料變更 Webhook 事件​

使用者​

Event typeDescription
User.Created建立新使用者帳號。
User.Deleted刪除使用者帳號。
User.Data.Updated更新使用者個人資料,例如 email、頭像、custom.data、社交識別碼等。
User.SuspensionStatus.Updated使用者停權狀態變更(停權或重新啟用)。

角色 (Role)​

Event typeDescription
Role.Created建立新角色 (Role)。
Role.Deleted刪除角色 (Role)。
Role.Data.Updated更新角色 (Role) 資料,例如角色名稱、描述、預設角色狀態。
Role.Scopes.Updated新增或移除指派給角色 (Role) 的權限 (Permissions)。

權限 (Scope)​

Event typeDescription
Scope.Created建立新的 API 權限 (Permission)。
Scope.Deleted刪除 API 權限 (Permission)。
Scope.Data.Updated更新 API 權限 (Permission) 資料,例如權限描述。

組織 (Organization)​

Event typeDescription
Organization.Created建立新組織 (Organization)。
Organization.Deleted刪除組織 (Organization)。
Organization.Data.Updated更新組織 (Organization) 資料,例如組織名稱、描述、custom.data 等。
Organization.Membership.Updated使用者或應用程式被加入或移出組織 (Organization)。Payload 包含 membership delta fields。

組織角色 (Organization role)​

Event typeDescription
OrganizationRole.Created建立新組織角色 (Organization role)。
OrganizationRole.Deleted刪除組織角色 (Organization role)。
OrganizationRole.Data.Updated更新組織角色 (Organization role) 資料,例如名稱與描述。
OrganizationRole.Scopes.Updated新增或移除指派給組織角色 (Organization role) 的權限 (Permissions)。

組織權限 (Organization permission, scope)​

Event typeDescription
OrganizationScope.Created建立新組織權限 (Organization permission)。
OrganizationScope.Deleted刪除組織權限 (Organization permission)。
OrganizationScope.Data.Updated更新組織權限 (Organization permission) 資料,例如描述。

信任裝置 (Trusted device)​

Event typeDescription
TrustedDevice.Created成功驗證互動後建立信任裝置 (Trusted-device) 記錄。
TrustedDevice.Deleted使用者或管理員移除信任裝置 (Trusted-device) 記錄。

自然過期不會觸發 TrustedDevice.Expired webhook,因為過期屬於基於時間的有效性變化,而非應用程式資料變更。TrustedDevice.Created payload 會包含 expiresAt,消費端可自行推算預期過期時間。成功使用及信任裝置政策變更不會觸發生命週期 webhook。

Management API 觸發事件​

API endpointEvent
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 interaction actionEvent
使用者 email / phone 綁定User.Data.Updated
使用者 MFA 綁定User.Data.Updated
使用者社交 / SSO 綁定User.Data.Updated
使用者密碼重設User.Data.Updated
使用者註冊User.Created
使用者透過 即時佈建 (Just-in-time provisioning)(符合 email 網域或企業級 SSO 連接器)自動加入組織Organization.Membership.Updated

例外 Webhook 事件​

安全性 (Security)​

Event typeDescription
Identifier.Lockout使用者帳號因連續身分驗證失敗而被鎖定。可能在以下流程觸發:
  • 密碼驗證失敗
  • 驗證碼驗證失敗
  • 一次性權杖驗證失敗
Message.RateLimited終端使用者超過每收件人 發送速率限制 的驗證碼發送次數。僅在終端使用者發送路徑(Experience API 與 Account API)觸發,payload 為 { action, recipient }。
Grant.LimitExceeded成功授權使使用者超過應用程式的 最大同時驗證裝置數 限制 (maxAllowedGrants),Logto 會撤銷該應用程式最舊的授權。

常見問題​

PostRegister 和 User.Created 有什麼不同?​

PostRegister 於使用者透過註冊流程成功建立新帳號時觸發;User.Created 則於透過 Management API 建立新使用者帳號時觸發。