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

วางแผนสถาปัตยกรรมของคุณ

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

โมเดลธุรกิจของคุณคืออะไร และใครคือฝ่ายสำคัญและผู้มีส่วนได้ส่วนเสีย?

โดยทั่วไปมีโมเดลธุรกิจหลัก 2 แบบ คือ B2C และ B2B ซึ่งแต่ละแบบเกี่ยวข้องกับฝ่ายต่าง ๆ ในสถานการณ์การจัดการเอกลักษณ์ที่ซับซ้อน การเข้าใจผู้มีส่วนได้ส่วนเสียหลักเหล่านี้จะช่วยให้คุณออกแบบระบบที่มุ่งเน้นประสบการณ์ผู้ใช้และครอบคลุมทุกแง่มุมของการจัดการเอกลักษณ์

B2C

ในแอปพลิเคชัน B2C การจัดการเอกลักษณ์มักจะตรงไปตรงมาและเกี่ยวข้องกับเพียงสองฝ่ายเท่านั้น

นักพัฒนา (คุณ)

หมายถึง ผู้ดูแลและผู้ร่วมงาน Logto Console — โดยปกติคือคุณและทีมพัฒนาของคุณ — ทำหน้าที่จัดการและรักษาความปลอดภัยกลุ่มเอกลักษณ์ผู้ใช้ และทำงานโดยตรงกับฐานข้อมูลเอกลักษณ์ คุณสามารถจัดการเอกลักษณ์ลูกค้าได้โดยตรงใน Logto Console หรือพัฒนาฟีเจอร์เพิ่มเติมผ่าน Logto Management API

ผู้บริโภคของคุณ

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

B2B

ในแอปพลิเคชัน B2B จะมีชั้นและบริบทเพิ่มเติมเข้ามา เจ้าของหน่วยธุรกิจ (หรือองค์กร) จะควบคุมว่าใครสามารถเข้าถึงอินสแตนซ์ของตน วิธีการยืนยันตัวตน และสิ่งที่สามารถทำได้ องค์กรจะจัดการเอกลักษณ์ของผู้ใช้ปลายทางทั้งหมดที่เข้าถึงอินสแตนซ์ของตน

นักพัฒนา (คุณ)

ยังคงหมายถึง ผู้ดูแลและผู้ร่วมงาน Logto Console แม้ว่าแอดมินขององค์กรจะสามารถจัดการเอกลักษณ์ได้ แต่นักพัฒนายังคงสามารถจัดการเอกลักษณ์ลูกค้าได้โดยตรงใน Logto Console หรือผ่านการพัฒนาฟีเจอร์เพิ่มเติมด้วย Logto Management API

ลูกค้าของคุณ (แอดมินองค์กร)

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

พนักงาน พาร์ทเนอร์ หรือผู้บริโภคของลูกค้าคุณ

เหล่านี้คือเอกลักษณ์ผู้ใช้ปลายทาง ซึ่งในบริบทขององค์กรจะเรียกว่า “สมาชิก” และสามารถจัดการได้ภายในองค์กร แม้ว่าเอกลักษณ์เหล่านี้จะแยกตามองค์กร แต่ทั้งหมดจะถูกรวมอยู่ภายใต้ระบบเอกลักษณ์เดียวกัน

ในสถานการณ์จริง จากมุมมองของผลิตภัณฑ์ กลุ่มนี้อาจเป็นพนักงานบริษัท พาร์ทเนอร์ทางธุรกิจ หรือแม้แต่ผู้บริโภคที่เกี่ยวข้องกับองค์กร

อื่น ๆ

โมเดลอื่น ๆ เช่น B2B2C อาจเกิดขึ้นจากสองแบบข้างต้นเนื่องจากความซับซ้อน อย่างไรก็ตาม แนวทางยังคงเหมือนเดิม: ทุกการเปลี่ยนแปลงมีรากฐานเดียวกัน

ในบทถัดไป เราจะเจาะลึกสถาปัตยกรรมสองแบบที่พบบ่อยนี้และเน้นฟีเจอร์ที่เกี่ยวข้องซึ่ง Logto รองรับ

สกัดความต้องการด้าน auth ของคุณ

เมื่อคุณเข้าใจผู้ใช้หลักและฝ่ายที่เกี่ยวข้องในการออกแบบเทคโนโลยีและผลิตภัณฑ์ของคุณแล้ว ให้พิจารณาคำถามต่อไปนี้เพื่อปรับแต่งสถาปัตยกรรมเอกลักษณ์และกำหนดความต้องการการยืนยันตัวตนและระดับการควบคุม:

  1. ลูกค้ามีตัวเลือกอะไรบ้างสำหรับการยืนยันตัวตนและประสบการณ์การลงชื่อเข้าใช้? โดยปกติจะขึ้นอยู่กับธุรกิจ กลยุทธ์การหาลูกค้า และความต้องการของผลิตภัณฑ์

    เช่น แอปของฉันต้องการฟีเจอร์อะไรบ้าง? ลงชื่อเข้าใช้ด้วยโซเชียล? เข้าสู่ระบบแบบไม่ใช้รหัสผ่าน?

  2. คุณ (นักพัฒนา) ต้องการควบคุมการกระทำของลูกค้าในระดับใด?

    เช่น ลูกค้าสามารถอัปเดตและดูแลโปรไฟล์ของตนเองได้หรือไม่? ลูกค้าสามารถเปิด / ปิด MFA ได้เองหรือไม่? พวกเขาสามารถเลือกวิธีลงชื่อเข้าใช้ที่ต้องการได้หรือไม่?

  3. คุณต้องการมอบหมายการปรับแต่งประเภทใดให้กับองค์กร? ขึ้นอยู่กับโดเมนและอุตสาหกรรมของผลิตภัณฑ์ รวมถึงความต้องการเฉพาะของลูกค้าแต่ละราย ซึ่งอาจแตกต่างกันไปในแต่ละองค์กร

    เช่น ประสบการณ์การลงชื่อเข้าใช้ควรแตกต่างกันสำหรับแต่ละองค์กรหรือไม่? ถ้าใช่ การปรับแต่งควรจำกัดแค่แบรนด์ หรือรวมถึงความแตกต่างใน flow การยืนยันตัวตนด้วย?

  4. คุณต้องการให้แอดมินองค์กรควบคุมการกระทำของสมาชิกในระดับใด?

    เช่น แอดมินองค์กรควรตัดสินใจได้หรือไม่ว่าต้องใช้ MFA? แอดมินควรมีสิทธิ์เปลี่ยนรหัสผ่านของสมาชิกได้หรือไม่?

คุณต้องการระบบเอกลักษณ์เดียวแบบสากลหรือแยกหลายระบบ?

อีกหนึ่งคำถามสำคัญที่ควรคำนึงถึงคือ คุณหรือส่วนหนึ่งของธุรกิจ / ผลิตภัณฑ์ของคุณต้องการระบบเอกลักษณ์เดียวหรือแยกกัน

โดยทั่วไป คำตอบคือระบบเอกลักษณ์เดียวแบบสากล หมายความว่าคุณต้องการเพียง Logto tenant เดียว (หรืออินสแตนซ์ Logto admin console เดียวใน OSS) Logto ถูกออกแบบมาให้รองรับทั้งหลายแอปและหลายองค์กรภายใน tenant เดียว โดยปกติ Logto tenant สำหรับ production หนึ่งตัวก็เพียงพอสำหรับความต้องการส่วนใหญ่ ต่อไปนี้คือตัวอย่างสถานการณ์ที่พบบ่อย:

ฉันต้องการสร้างแอป SaaS แบบหลายผู้เช่า

หากคุณกำลังสร้างแอป SaaS ที่มีแนวคิด “workspace” หรือ “องค์กร” สำหรับลูกค้าแต่ละราย คุณสามารถใช้ “องค์กร” เพื่อจัดการ workspace ของลูกค้าแต่ละรายภายใน tenant เดียว

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

ฉันมีหลายแอปพลิเคชัน

ด้วย Logto คุณสามารถจัดการหลายแอปพลิเคชันภายใน tenant เดียวได้โดยไม่คำนึงถึง

  1. ประเภทของแอปพลิเคชัน (เช่น เว็บ โมบาย เดสก์ท็อป ฯลฯ)
  2. กรณีการใช้งานและฟังก์ชันของแอป (เช่น แอปสำหรับคนขับ แอปสำหรับผู้โดยสาร ฯลฯ)

ฉันมีลูกค้าองค์กรหลายราย

คุณสามารถใช้ “องค์กร” ร่วมกับ Enterprise SSO เพื่อจัดการลูกค้าองค์กรหลายรายภายใน tenant เดียวได้ โดยการตั้งค่าโดเมนอีเมลสำหรับ Enterprise SSO และใช้ฟีเจอร์ Just-in-Time provisioning คุณสามารถทำให้กระบวนการที่ผู้ใช้ที่มีบัญชี Enterprise SSO เข้าร่วมหรือเข้าสู่องค์กรที่เหมาะสมเป็นไปโดยอัตโนมัติ