• webhook
  • welcome email
  • Sync authorization

กรณีการใช้งานจริง: ขยายระบบการตรวจสอบของคุณด้วยเว็บฮุค

ค้นหากรณีการใช้งานในโลกแห่งความเป็นจริงของการใช้ Logto เว็บฮุคสำหรับการตรวจสอบและการอนุญาต รวมถึงการส่งอีเมลต้อนรับ การซิงค์ข้อมูลกับฐานข้อมูลของคุณ การอัปเดตบทบาท/การอนุญาตของผู้ใช้ในเวลาจริง และการรวมกับเครื่องมือวิเคราะห์ของบุคคลที่สาม

Ran
Ran
Product & Design

ด้วย Logto เว็บฮุค คุณสามารถรับการอัปเดตเวลาจริงเกี่ยวกับเหตุการณ์เฉพาะ เช่น การลงทะเบียนผู้ใช้ การลงชื่อเข้าใช้ หรือการตั้งค่ารหัสผ่านใหม่ โดยไม่ต้องอัปเดตการตรวจสอบอย่างต่อเนื่อง เมื่อมีการเรียกใช้เหตุการณ์ Logto จะส่งคำขอ HTTP ที่มีข้อมูลเกี่ยวกับเหตุการณ์ไปยัง URL ปลายทางที่คุณระบุ แอปพลิเคชันของคุณสามารถรับคำขอและดำเนินการปรับแต่งตามข้อมูล เช่น การส่งอีเมลหรือการอัปเดตฐานข้อมูล

มีความสามารถบางประการที่คุณอาจไม่พบโดยตรงในคอนโซล Logto แต่ว่าคุณสามารถพิจารณาว่าคุณสามารถใช้เว็บฮุคเพื่อติดตามพฤติกรรมของผู้ใช้ของคุณเพื่อบรรลุเป้าหมายเหล่านั้นได้หรือไม่

สถานการณ์การใช้งานของ Logto เว็บฮุค

เว็บฮุคให้ความเป็นไปได้ไม่จำกัดสำหรับระบบ Auth ต่อไปนี้เป็นกรณีการใช้งานจริงที่ฉันจะยกตัวอย่าง:

1. ส่งอีเมลหรือการแจ้งเตือน

“ฉันสามารถใช้ Logto Email เพื่อส่งอีเมลต้อนรับที่กำหนดเองพร้อมลิงก์การเข้าสู่ระบบให้กับผู้ใช้ได้ไหม? เราใช้การเข้าสู่ระบบเฉพาะรหัสยืนยัน ไม่มีรหัสผ่าน”

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

ในทำนองเดียวกัน แจ้งเตือนผู้ใช้หลังจากการอัปเดตบทบาท แจ้งให้แอดมินทราบเกี่ยวกับสมาชิกใหม่ หรือส่งข้อความบอทไปยัง Slack หรือ Discord เพื่อให้ทีมของคุณได้รับการอัปเดต

2. การซิงค์ข้อมูล

“ถ้าฉันลบผู้ใช้ในคอนโซลแอดมิน ฉันจะซิงค์สิ่งนี้กับระบบอื่น ๆ อย่างไร?”

ใช้เหตุการณ์ User.Deleted เพื่อรับสถานะการเปลี่ยนแปลงของผู้ใช้ที่ถูกลบและซิงค์ไปยังระบบอื่น ๆ นอกจากนี้คุณยังสามารถล้างเซสชันการเข้าสู่ระบบของผู้ใช้ได้ทันที ซึ่งจะเป็นประโยชน์สำหรับการจัดการผู้ใช้ข้ามแอป

“ฉันมีแอปหลายตัวภายใต้ผู้เช่าของ Logto ฉันต้องการเว็บฮุคเพื่อตรวจจับการสร้างผู้ใช้ เพื่อให้มั่นใจว่ามันได้รับการจัดการโดยแอปเฉพาะ”

ใช้เหตุการณ์ PostRegister และ Payload จะมีข้อมูล AppId ซึ่งจะช่วยให้คุณจัดการการออกแบบประสบการณ์ส่วนบุคคลของบริการแอปหลาย ๆ ตัวได้

3. ดำเนินการเรียก API เพิ่มเติม

“เมื่อฉันเปลี่ยนสิทธิ์ของผู้ใช้ พวกเขาต้องออกจากระบบและเข้าสู่ระบบใหม่เพื่อให้การอัปเดตมีผล สิ่งนี้สามารถเกิดขึ้นโดยอัตโนมัติได้หรือไม่?”

หากแอดมินเปลี่ยนบทบาทของผู้ใช้หรือเพิ่มสิทธิ์ใหม่ให้ผู้ใช้ โดยเริ่มต้น ผู้ใช้จำเป็นต้องเข้าสู่ระบบอีกครั้งหรือยินยอมในการอัปเดตโทเค็นการเข้าถึง หากคุณต้องการให้การเปลี่ยนแปลงการอนุญาตมีผลทันที คุณสามารถใช้เว็บฮุค User.Data.Updated` เพื่อการแจ้งเตือน และเปิดให้ความยินยอมใหม่หรือออกโทเค็นการเข้าถึงใหม่ตามนั้น

นอกจากนี้ คุณยังสามารถใช้เวลาหมดอายุของโทเค่นการเข้าถึงที่สั้นหรือเรียก Management API เป็นระยะๆ เพื่อรับบทบาทและสิทธิ์ของผู้ใช้ แต่เฉพาะเว็บฮุคเท่านั้นที่ช่วยให้คุณได้รับการอัปเดตที่ทันทีที่สุด

“ฉันต้องการเพิ่มผู้ใช้ใหม่แต่ละคนในฐานข้อมูลของฉัน ให้พวกเขาไปที่หน้า ‘ตั้งค่าองค์กรของคุณ’ และอนุญาตให้เชิญองค์กรสำหรับผู้ใช้ที่มาหลังเท่านั้น Logto รองรับสิ่งนี้ได้ไหม?”

อันดับแรก จำเป็นต้องมีการซิงค์ข้อมูลโดยใช้เว็บฮุค Post.Register เพื่อเพิ่มผู้ใช้ใหม่ในฐานข้อมูลของคุณ แล้ว ใช้ Logto management API เพื่อออกแบบหน้าพรอมต์ของคุณสำหรับการตั้งค่าองค์กรและการเชิญ

4. การวิเคราะห์ข้อมูล

“ฉันสามารถเชื่อมต่อ Logto กับเครื่องมือวิเคราะห์ของฉัน (Google Analytics, Umami, Plausible, ฯลฯ) เพื่อติดตามการเข้าสู่ระบบของผู้ใช้ได้ไหม?”

หากคุณจำเป็นต้องวิเคราะห์ข้อมูลที่เกี่ยวข้องกับการเข้าสู่ระบบของผู้ใช้หรือการอนุญาต คุณสามารถใช้คุณสมบัติของเว็บฮุค Logto ได้ คุณสามารถฟังเว็บฮุคที่ Logto ส่งมาแล้วรวมข้อมูลเข้ากับเครื่องมือวิเคราะห์ของบุคคลที่สาม

ยืนยันว่าคุณต้องการเว็บฮุคหรือไม่

ขั้นตอนที่ 1: ยืนยันว่ามีเหตุการณ์เว็บฮุคที่คุณต้องการหรือไม่

เว็บฮุคถูกแบ่งเป็นสองประเภท ระดับบัญชีและระดับองค์กร เหตุการณ์ทั้งหมด จะแสดงด้านล่างนี้:

logto_webhook_events_for_authentication_and_authorization.webp

เพื่ออำนวยความสะดวกในสถานการณ์การแบ่งกลุ่มของคุณและการรับข้อมูลที่ตรงกัน จึงถูกแบ่งอย่างละเอียด อย่างไรก็ตาม หากคุณจำเป็นต้องใช้ข้อมูลจากหลายเหตุการณ์ในเวลาเดียวกัน คุณสามารถเลือกหลายเหตุการณ์สำหรับเว็บฮุคหนึ่งตัวได้

หมายเหตุ: เหตุการณ์ประเภท “User Interaction” จับการกระทำของผู้ใช้ภายใน UI, ยกเว้นการเปลี่ยนแปลงที่เริ่มต้นจากผู้ดูแลระบบ เหตุการณ์ประเภท “User” รวมถึงการกระทำของผู้ใช้ทั้งหมด รวมถึงที่ทำโดยผู้ดูแลระบบและผู้ใช้ปลายทาง ตัวอย่างเช่น เหตุการณ์ PostRegister หมายถึงการลงทะเบียนผู้ใช้ในประสบการณ์การลงชื่อเข้าใช้ ในขณะที่ User.Created รวมถึงผู้ใช้ใหม่ทั้งหมดทั้งที่ผู้ใช้ลงทะเบียนในอินเทอร์เฟซ UI และที่เพิ่มโดยผู้ดูแลระบบ

ขั้นตอนที่ 2: ยืนยันว่าข้อมูล Payload ของคำขอมีข้อมูลที่คุณต้องการหรือไม่

เหตุการณ์ที่แตกต่างกันจะมีข้อมูลที่แตกต่างกัน คุณสามารถยืนยันว่าข้อมูลที่มีอยู่ตรงตามความต้องการของการใช้งานของคุณหรือไม่ ตัวอย่างเช่น id, username, primary email, profile, customData, identities, lastSignInAt, createdAt, applicationId, isSuspended, OrganizationId, OrganizationRoleId, OrganizationScopeId, เป็นต้น สำหรับรายละเอียด โปรดดูที่ คำขอเว็บฮุค หากไม่ คุณสามารถใช้ Management API เพื่อรับข้อมูลผู้ใช้ที่เกี่ยวข้องต่อไปได้

ขั้นตอนที่ 3: รวมกับ Management API เพื่อขยายความสามารถขั้นสูง

คุณยังสามารถใช้ Logto Management API เพื่อดำเนินการจัดการเพิ่มเติมและการตั้งค่าฟังก์ชัน

สรุป

เหตุการณ์เว็บฮุคของ Logto ไม่เพียงแต่ครอบคลุมสถานการณ์หลากหลายเท่านั้น แต่ยังรับรอง การส่งที่ปลอดภัย ผ่านการตรวจสอบ Signing key และ Header ที่กำหนดเอง คุณยังสามารถดูแดชบอร์ดเว็บฮุคของ Logto เพื่อ ตรวจสอบการส่ง ของเว็บฮุคแต่ละรายการในช่วง 24 ชั่วโมงที่ผ่านมา