ตั้งค่า webhook
ตั้งค่า webhook ใน Logto Console เพื่อให้การผสานรวมเป็นไปอย่างไร้รอยต่อและรับการแจ้งเตือนเหตุการณ์แบบเรียลไทม์สำหรับแอปพลิเคชันของคุณ เพลิดเพลินกับการตั้งค่าที่ง่าย ความปลอดภัยที่เพิ่มขึ้น และตัวเลือกการตรวจสอบสุขภาพที่สะดวก
สร้าง webhook
ก่อนอื่น สร้าง endpoint สำหรับ webhook ที่จะถูกเรียกโดย Logto Agent endpoint นี้ควรติดตั้งบนเซิร์ฟเวอร์ของคุณและสามารถรับ HTTP request ได้
ในการสร้าง webhook ใหม่ใน Logto Console ให้ทำตามขั้นตอนดังนี้:
-
สร้าง webhook: ไปที่ Console > Webhooks และคลิกปุ่ม "Create webhook"
-
ชื่อ: กำหนดชื่อให้ webhook เพื่อใช้อ้างอิงสำหรับระบุกรณีการใช้งานของคุณ
-
Endpoint URL: กรอก
Endpoint URL
ซึ่งเป็น URL ของเซิร์ฟเวอร์คุณที่จะรับ webhook POST request เมื่อเกิดเหตุการณ์ขึ้น เพื่อความปลอดภัย URL นี้ต้องเข้าถึงได้แบบสาธารณะผ่าน HTTPS และไม่ควรเป็น URL ของ localhostบันทึก:เซิร์ฟเวอร์ของคุณควรตอบกลับ webhook request จาก Logto ด้วย HTTP 200 ("OK") ทันทีหลังได้รับ request เพื่อแจ้งว่าได้รับคำขอแล้ว
การรอให้ตรรกะของ Webhook event ประมวลผลเสร็จก่อนตอบกลับ อาจทำให้ webhook หมดเวลา (timeout)
อย่าตอบกลับ Logto webhook ด้วยรหัสอื่นนอกจาก 200 หากเกิดข้อผิดพลาดขณะประมวลผล event ให้จัดการที่เซิร์ฟเวอร์ของคุณเอง
-
เหตุการณ์ (Event): ในหน้าต่าง modal ที่ปรากฏขึ้น ให้เลือก เหตุการณ์ ที่ต้องการให้ trigger webhook นี้ แนะนำให้เลือกเฉพาะเหตุการณ์ที่จำเป็นเพื่อลดภาระการรับข้อมูลของเซิร์ฟเวอร์ คุณสามารถเปลี่ยนเหตุการณ์ที่เลือกได้ตลอดเวลาหลังสร้าง webhook แล้ว
-
ปิดใช้งาน / เปิดใช้งานอีกครั้ง: โดยปกติ webhook จะถูกเปิดใช้งานทันทีหลังสร้าง หากต้องการหยุดใช้งานชั่วคราว คุณสามารถปิดหรือเปิดใช้งานอีกครั้งได้ผ่านเมนู "Three-Dots" ที่มุมขวาบนของหัวข้อหลังจากสร้างแล้ว
รักษาความปลอดภัย webhook
เมื่อเซิร์ฟเวอร์ของคุณพร้อมรับ webhook request แล้ว คุณอาจต้องการให้แน่ใจว่าสามารถจัดการ request ได้อย่างปลอดภัย Logto จะสร้างลายเซ็น (signature) สำหรับ payload ของแต่ละ webhook request ซึ่งช่วยให้คุณตรวจสอบได้ว่า request นั้นมาจาก Logto
หลังจากสร้าง webhook ใหม่ คุณมีตัวเลือกเพื่อเพิ่มความปลอดภัยดังนี้:
- Signing key: Logto จะสร้าง hash signature เฉพาะที่เรียกว่า Signing Key สำหรับแต่ละ webhook คุณสามารถใส่ key นี้เป็น request header ใน endpoint ของคุณ การตรวจสอบ signing key จะช่วยยืนยันว่า payload ของ webhook มาจาก Logto และไม่ถูกแก้ไขโดยแหล่งที่ไม่ได้รับอนุญาต อ่าน การรักษาความปลอดภัย webhook ของคุณ เพื่อดูรายละเอียดโค้ดเพิ่มเติม
- Custom header: คุณสามารถเพิ่ม custom header ใน payload ของ webhook เพื่อให้ข้อมูลหรือ metadata เพิ่มเติม ฟีเจอร์นี้ช่วยให้คุณใส่ข้อมูลที่เกี่ยวข้องเพื่อช่วยในการประมวลผลข้อมูล webhook ได้อย่างมีประสิทธิภาพ
โดยการใช้ Signing Key และพิจารณาเพิ่ม Custom Header คุณจะสามารถเพิ่มความปลอดภัยให้ webhook และรับรองความถูกต้องและความสมบูรณ์ของ payload ที่ได้รับ
ทดสอบ webhook
เพื่อทดสอบการเชื่อมต่อระหว่าง Logto กับบริการของคุณ เพียงคลิกปุ่ม "Send test payload" Logto จะส่ง payload ตัวอย่างสำหรับแต่ละเหตุการณ์ที่เลือกไปยัง endpoint URL ของคุณ คำขอทดสอบเหล่านี้จะมีข้อมูลแบบไม่ระบุตัวตนและจะไม่ถูกบันทึกในประวัติคำขอล่าสุด
การทดสอบนี้ช่วยให้มั่นใจว่า webhook ของคุณถูกตั้งค่าอย่างถูกต้องเพื่อรับและประมวลผล payload จาก Logto และช่วยให้คุณตรวจสอบการผสานรวมก่อนนำ webhook ไปใช้จริง
ตรวจสอบสถานะสุขภาพของ Webhook
Logto มีเครื่องมือที่สะดวกสำหรับตรวจสอบสถานะสุขภาพของ webhook และวิเคราะห์ปัญหาต่าง ๆ ได้อย่างละเอียด:
- สถานะสุขภาพ รายการ webhook ใน Logto จะแสดงสถานะสุขภาพของแต่ละ webhook รวมถึงอัตราความสำเร็จและจำนวนคำขอทั้งหมดใน 24 ชั่วโมงที่ผ่านมา ข้อมูลนี้ช่วยให้คุณเห็นภาพรวมของประสิทธิภาพ webhook
- บันทึกคำขอแยกอิสระ ในส่วน "Recent Requests" ของแต่ละ webhook คุณสามารถเข้าถึงบันทึกคำขอใน 24 ชั่วโมงที่ผ่านมา โดยแต่ละคำขอจะถูกบันทึกแยกกัน ทำให้คุณสามารถดูรายละเอียดแต่ละคำขอและตรวจสอบข้อผิดพลาดหรือความผิดปกติได้
- ลองส่งใหม่อัตโนมัติ หากเกิดการส่งล้มเหลว (เมื่อ webhook ตอบกลับด้วยสถานะมากกว่าหรือเท่ากับ 500) Logto จะลองส่งซ้ำให้อัตโนมัติสูงสุดสามครั้ง มั่นใจได้ว่าการลองส่งซ้ำหลายครั้งของคำขอเดียวกันจะสร้างบันทึกเพียงรายการเดียวเท่านั้น เพื่อหลีกเลี่ยงความซ้ำซ้อนที่ไม่จำเป็น
ด้วยการใช้ฟีเจอร์การตรวจสอบเหล่านี้ คุณจะสามารถติดตามสุขภาพของ webhook ได้อย่างมีประสิทธิภาพ ตรวจสอบบันทึกคำขอ และรับรองความน่าเชื่อถือและประสิทธิภาพของการผสาน webhook ของคุณ