ข้ามไปยังเนื้อหาหลัก

เหตุการณ์ Webhooks (Webhooks events)

คู่มือนี้จะแสดงรายการเหตุการณ์ webhook ของ Logto ที่แตกต่างกันและอธิบายว่าแต่ละเหตุการณ์เกิดขึ้นเมื่อใด

เหตุการณ์ webhook จากการโต้ตอบของผู้ใช้

ประเภทเหตุการณ์คำอธิบาย
PostRegisterผู้ใช้สร้างบัญชีใหม่สำเร็จผ่านอินเทอร์เฟซ UI
PostSignInผู้ใช้ลงชื่อเข้าใช้สำเร็จผ่านอินเทอร์เฟซ UI
PostResetPasswordรหัสผ่านของผู้ใช้ถูกรีเซ็ตสำเร็จผ่านขั้นตอน “ลืมรหัสผ่าน”

เหตุการณ์ webhook จากการเปลี่ยนแปลงข้อมูล

ผู้ใช้ (User)

ประเภทเหตุการณ์คำอธิบาย
User.Createdมีการสร้างบัญชีผู้ใช้ใหม่
User.Deletedมีการลบบัญชีผู้ใช้ออก
User.Data.Updatedข้อมูลโปรไฟล์ผู้ใช้ถูกอัปเดต เช่น อีเมล, อวาตาร์, custom.data, ตัวระบุโซเชียล ฯลฯ
User.SuspensionStatus.Updatedสถานะการระงับบัญชีผู้ใช้ถูกเปลี่ยน (ระงับหรือเปิดใช้งานใหม่)

บทบาท (Role)

ประเภทเหตุการณ์คำอธิบาย
Role.Createdมีการสร้างบทบาทใหม่
Role.Deletedมีการลบบทบาทออก
Role.Data.Updatedข้อมูลของบทบาทถูกอัปเดต เช่น ชื่อบทบาท, คำอธิบาย, สถานะบทบาทเริ่มต้น
Role.Scopes.Updatedมีการเพิ่มหรือลบสิทธิ์ (permissions) ที่กำหนดให้กับบทบาท

สิทธิ์ (ขอบเขต) (Permission (Scope))

ประเภทเหตุการณ์คำอธิบาย
Scope.Createdมีการสร้างสิทธิ์ API ใหม่
Scope.Deletedมีการลบสิทธิ์ API ออก
Scope.Data.Updatedข้อมูลของสิทธิ์ API ถูกอัปเดต เช่น คำอธิบายสิทธิ์

องค์กร (Organization)

ประเภทเหตุการณ์คำอธิบาย
Organization.Createdมีการสร้างองค์กรใหม่
Organization.Deletedมีการลบองค์กรออก
Organization.Data.Updatedข้อมูลขององค์กรถูกอัปเดต เช่น ชื่อองค์กร, คำอธิบาย, custom.data ฯลฯ
Organization.Membership.Updatedมีการเพิ่มหรือลบผู้ใช้หรือแอปพลิเคชันออกจากองค์กร Payload จะมี ฟิลด์ delta ของสมาชิก

บทบาทขององค์กร (Organization role)

ประเภทเหตุการณ์คำอธิบาย
OrganizationRole.Createdมีการสร้างบทบาทขององค์กรใหม่
OrganizationRole.Deletedมีการลบบทบาทขององค์กรออก
OrganizationRole.Data.Updatedข้อมูลของบทบาทองค์กรถูกอัปเดต เช่น ชื่อบทบาทองค์กรและคำอธิบาย
OrganizationRole.Scopes.Updatedมีการเพิ่มหรือลบสิทธิ์ที่กำหนดให้กับบทบาทขององค์กร

สิทธิ์ขององค์กร (ขอบเขต) (Organization permission (scope))

ประเภทเหตุการณ์คำอธิบาย
OrganizationScope.Createdมีการสร้างสิทธิ์ขององค์กรใหม่
OrganizationScope.Deletedมีการลบสิทธิ์ขององค์กรออก
OrganizationScope.Data.Updatedข้อมูลของสิทธิ์ขององค์กรถูกอัปเดต เช่น คำอธิบายสิทธิ์ขององค์กร

อุปกรณ์ที่เชื่อถือได้ (Trusted device)

ประเภทเหตุการณ์คำอธิบาย
TrustedDevice.Createdมีการสร้างระเบียนอุปกรณ์ที่เชื่อถือได้หลังจากการยืนยันตัวตนสำเร็จ
TrustedDevice.Deletedผู้ใช้หรือผู้ดูแลระบบลบระเบียนอุปกรณ์ที่เชื่อถือได้ออก

การหมดอายุโดยธรรมชาติจะไม่ส่ง webhook TrustedDevice.Expired เพราะการหมดอายุเป็นการเปลี่ยนแปลงความถูกต้องตามเวลา ไม่ใช่การเปลี่ยนแปลงข้อมูลโดยแอปพลิเคชัน Payload ของ TrustedDevice.Created จะมี expiresAt เพื่อให้ผู้ใช้งานสามารถคำนวณเวลาหมดอายุที่คาดไว้ได้ การใช้งานสำเร็จและการเปลี่ยนนโยบายอุปกรณ์ที่เชื่อถือได้จะไม่ส่ง lifecycle webhook

เหตุการณ์ที่ถูกกระตุ้นโดย Management API

API endpointเหตุการณ์
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
ผู้ใช้ถูกจัดเตรียมเข้าสู่องค์กรโดยอัตโนมัติผ่าน Just-in-Time provisioning (โดเมนอีเมลตรงหรือ SSO connector)Organization.Membership.Updated

เหตุการณ์ webhook ข้อยกเว้น

ความปลอดภัย (Security)

ประเภทเหตุการณ์คำอธิบาย
Identifier.Lockoutบัญชีผู้ใช้ถูกล็อกเนื่องจากพยายามยืนยันตัวตนผิดติดต่อกันหลายครั้ง สามารถเกิดขึ้นได้ในขั้นตอน:
  • ตรวจสอบรหัสผ่านผิด
  • ตรวจสอบรหัสยืนยันผิด
  • ตรวจสอบโทเค็นแบบใช้ครั้งเดียวผิด
Message.RateLimitedผู้ใช้ปลายทางส่งคำขอรับรหัสยืนยันเกิน ขีดจำกัดการส่งต่อผู้รับ จะถูกส่งเฉพาะเส้นทางส่งของผู้ใช้ปลายทาง (Experience API และ Account API) โดย payload คือ { action, recipient }
Grant.LimitExceededการอนุญาต (Authorization) สำเร็จทำให้ผู้ใช้เกิน จำนวนอุปกรณ์ที่ลงชื่อเข้าใช้พร้อมกันสูงสุดต่อแอป (maxAllowedGrants) Logto จะเพิกถอน grant ที่เก่าที่สุดของแอปนั้น

คำถามที่พบบ่อย

ความแตกต่างระหว่าง PostRegister กับ User.Created คืออะไร?

PostRegister จะถูกกระตุ้นเมื่อผู้ใช้สร้างบัญชีใหม่สำเร็จผ่านขั้นตอนลงทะเบียนของผู้ใช้ ส่วน User.Created จะถูกกระตุ้นเมื่อมีการสร้างบัญชีผู้ใช้ใหม่ผ่าน Management API