กรณีการใช้งานจริง: ขยายระบบการตรวจสอบของคุณด้วยเว็บฮุค
ค้นหากรณีการใช้งานในโลกแห่งความเป็นจริงของการใช้ Logto เว็บฮุคสำหรับการตรวจสอบและการอนุญาต รวมถึงการส่งอีเมลต้อนรับ การซิงค์ข้อมูลกับฐานข้อมูลของคุณ การอัปเดตบทบาท/การอนุญาตของผู้ใช้ในเวลาจริง และการรวมกับเครื่องมือวิเคราะห์ของบุคคลที่สาม
ด้วย 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: ยืนยันว่ามีเหตุการณ์เว็บฮุคที่คุณต้องการหรือไม่
เว็บฮุคถูกแบ่งเป็นสองประเภท ระดับบัญชีและระดับองค์กร เหตุการณ์ทั้งหมด จะแสดงด้านล่างนี้:
เพื่ออำนวยความสะดวกในสถานการณ์การแบ่งกลุ่มของคุณและการรับข้อมูลที่ตรงกัน จึงถูกแบ่งอย่างละเอียด อย่างไรก็ตาม หากคุณจำเป็นต้องใช้ข้อมูลจากหลายเหตุการณ์ในเวลาเดียวกัน คุณสามารถเลือกหลายเหตุการณ์สำหรับเว็บฮุคหนึ่งตัวได้
หมายเหตุ: เหตุการณ์ประเภท “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 ชั่วโมงที่ผ่านมา