跳至主要內容

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 會撤銷該應用程式最舊的授權。

常見問題

PostRegisterUser.Created 有什麼不同?

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