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

คำขอ Webhooks

เมื่อมีการปล่อยเหตุการณ์ hook ที่ถูกต้อง Logto จะค้นหา webhooks ที่เกี่ยวข้องและส่งคำขอ POST ต่อ hook config แต่ละรายการ

ส่วนหัวของคำขอ

Keyปรับแต่งได้หมายเหตุ
user-agentค่าเริ่มต้นคือ Logto (https://logto.io/)
content-typeค่าเริ่มต้นคือ application/json
logto-signature-sha-256ลายเซ็นของเนื้อหา request ดูที่ การรักษาความปลอดภัย webhook ของคุณ

คุณสามารถเขียนทับส่วนหัวที่ปรับแต่งได้โดย ปรับแต่ง request ด้วย key เดียวกัน

เนื้อหาคำขอของเหตุการณ์ interaction hook

เหตุการณ์ที่ใช้ได้: PostRegister, PostSignIn, PostResetPassword

เนื้อหาคำขอเป็นวัตถุ JSON ที่มีข้อมูล 3 ประเภทดังนี้:

type UserEntity = {
id: string;
username?: string;
primaryEmail?: string;
primaryPhone?: string;
name?: string;
avatar?: string;
customData?: object;
identities?: object;
lastSignInAt?: string;
createdAt?: string;
applicationId?: string;
isSuspended?: boolean;
};
type ApplicationEntity = {
id: string;
name: string;
description?: string;
};
FieldTypeOptionalหมายเหตุ
hookIdstringตัวระบุใน Logto
eventstringเหตุการณ์ที่เรียกใช้ hook นี้
createdAtstringเวลาสร้าง payload ในรูปแบบ ISO
interactionEventstringเหตุการณ์ interaction ที่เรียกใช้ hook นี้
sessionIdstringSession ID (ไม่ใช่ Interaction ID) สำหรับเหตุการณ์นี้ (ถ้ามี)
userAgentstringuser-agent ของคำขอที่เรียกใช้ hook นี้
userIpstringที่อยู่ IP ของคำขอที่เรียกใช้ hook นี้
userIdstringUser ID ที่เกี่ยวข้องกับเหตุการณ์นี้ (ถ้ามี)
userUserEntityuser entity ที่เกี่ยวข้องกับเหตุการณ์นี้ (ถ้ามี)
applicationIdstringApplication ID ที่เกี่ยวข้องกับเหตุการณ์นี้ (ถ้ามี)
applicationApplicationEntityข้อมูลแอปพลิเคชันที่เกี่ยวข้องกับเหตุการณ์นี้ (ถ้ามี)

ดูข้อมูลอ้างอิง ผู้ใช้ และ แอปพลิเคชัน สำหรับคำอธิบายแต่ละฟิลด์โดยละเอียด

เนื้อหาคำขอของเหตุการณ์ data mutation hook

ฟิลด์มาตรฐานของเนื้อหาคำขอ

FieldTypeOptionalหมายเหตุ
hookIdstringตัวระบุใน Logto
eventstringเหตุการณ์ที่เรียกใช้ hook นี้
createdAtstringเวลาสร้าง payload ในรูปแบบ ISO
userAgentstringuser-agent ของคำขอ
ipstringที่อยู่ IP ของคำขอ

ฟิลด์ context body ของ Interaction API

เหตุการณ์ data mutation hook ที่ถูกเรียกโดยการเรียก API interaction ของผู้ใช้

เหตุการณ์ที่ใช้ได้: User.Created, User.Data.Updated

FieldTypeOptionalหมายเหตุ
interactionEventstringเหตุการณ์ interaction ที่เรียกใช้ hook นี้
sessionIdstringSession ID (ไม่ใช่ Interaction ID) สำหรับเหตุการณ์นี้ (ถ้ามี)
applicationIdstringApplication ID ที่เกี่ยวข้องกับเหตุการณ์นี้ (ถ้ามี)
applicationApplicationEntityข้อมูลแอปพลิเคชันที่เกี่ยวข้องกับเหตุการณ์นี้ (ถ้ามี)

ฟิลด์ context body ของ Management API

เหตุการณ์ data mutation hook ที่ถูกเรียกโดยการเรียก Management API

FieldTypeOptionalหมายเหตุ
pathstringpath ของ API call ที่เรียกใช้ hook นี้
methodstringmethod ของ API call ที่เรียกใช้ hook นี้
statusnumberรหัสสถานะตอบกลับของ API call ที่เรียกใช้ hook นี้
paramsobjectkoa path params ของ API call ที่เรียกใช้ hook นี้
matchedRoutestringkoa matched route ของ API call ที่เรียกใช้ hook นี้ Logto ใช้ฟิลด์นี้เพื่อจับคู่กับเหตุการณ์ hook ที่เปิดใช้งาน

ฟิลด์เนื้อหาข้อมูล (data payload body fields)

เหตุการณ์ผู้ใช้

EventFieldTypeOptionalหมายเหตุ
User.CreateddataUserEntityuser entity ที่ถูกสร้างสำหรับเหตุการณ์นี้
User.Data.UpdateddataUserEntityuser entity ที่ถูกอัปเดตสำหรับเหตุการณ์นี้
User.Deleteddatanull/

เหตุการณ์บทบาท (Role events)

type Role = {
id: string;
name: string;
description: string;
type: 'User' | 'MachineToMachine';
isDefault: boolean;
};
type Scope = {
id: string;
name: string;
description: string;
resourceId: string;
createdAt: number;
};
EventFieldTypeOptionalหมายเหตุ
Role.CreateddataRoleentity บทบาทที่ถูกสร้างสำหรับเหตุการณ์นี้
Role.Data.UpdateddataRoleentity บทบาทที่ถูกอัปเดตสำหรับเหตุการณ์นี้
Role.Deleteddatanull
Role.Scope.UpdateddataScope[]scopes ที่ถูกอัปเดตและกำหนดให้กับบทบาทนี้
Role.Scope.UpdatedroleIdstringrole ID ที่ scopes ถูกกำหนดให้ (มีเฉพาะเมื่อเหตุการณ์ถูกเรียกโดยการสร้างบทบาทใหม่พร้อมกำหนด scopes ล่วงหน้า)

เหตุการณ์สิทธิ์ (Permission / Scope events)

EventFieldTypeOptionalหมายเหตุ
Scope.CreateddataScopeentity scope ที่ถูกสร้างสำหรับเหตุการณ์นี้
Scope.Data.UpdateddataScopeentity scope ที่ถูกอัปเดตสำหรับเหตุการณ์นี้
Scope.Deleteddatanull/

เหตุการณ์องค์กร (Organization events)

type Organization = {
id: string;
name: string;
description?: string;
customData: object;
createdAt: number;
};
EventFieldTypeOptionalหมายเหตุ
Organization.CreateddataOrganizationentity องค์กรที่ถูกสร้างสำหรับเหตุการณ์นี้
Organization.Data.UpdateddataOrganizationentity องค์กรที่ถูกอัปเดตสำหรับเหตุการณ์นี้
Organization.Deleteddatanull/
Organization.Membership.Updateddatanull/

เหตุการณ์ OrganizationRole

type OrganizationRole = {
id: string;
name: string;
description?: string;
};
type OrganizationScope = {
id: string;
name: string;
description?: string;
};
EventFieldTypeOptionalหมายเหตุ
OrganizationRole.CreateddataOrganizationRoleentity บทบาทองค์กรที่ถูกสร้างสำหรับเหตุการณ์นี้
OrganizationRole.Data.UpdateddataOrganizationRoleentity บทบาทองค์กรที่ถูกอัปเดตสำหรับเหตุการณ์นี้
OrganizationRole.Deleteddatanull/
OrganizationRole.Scope.Updateddatanull/
OrganizationRole.Scope.UpdatedorganizationRoleIdstringrole ID ที่ scopes ถูกกำหนดให้ (มีเฉพาะเมื่อเหตุการณ์ถูกเรียกโดยการสร้างบทบาทใหม่พร้อมกำหนด scopes ล่วงหน้า)

เหตุการณ์สิทธิ์ขององค์กร (Organization permission / OrganizationScope events)

EventFieldTypeOptionalหมายเหตุ
OrganizationScope.CreateddataOrganizationScopeentity scope ขององค์กรที่ถูกสร้าง
OrganizationScope.Data.UpdateddataOrganizationScopeentity scope ขององค์กรที่ถูกอัปเดต
OrganizationScope.Deleteddatanull/