สร้างแอปพลิเคชัน SaaS สำหรับผู้เช่าหลายราย: คู่มือฉบับสมบูรณ์ตั้งแต่การออกแบบถึงการใช้งาน
เรียนรู้วิธีการสร้างแอปพลิเคชัน SaaS สำหรับผู้เช่าหลายรายด้วยการรับรองความถูกต้องที่แข็งแกร่ง การจัดการองค์กร และการควบคุมการเข้าถึงตามบทบาทอย่างมีประสิทธิภาพในเวลาเพียงไม่กี่ชั่วโมง
แอปพลิเคชันอย่าง Notion, Slack, หรือ Figma สร้างอย่างไร? แอปพลิเคชัน SaaS สำหรับผู้เช่าหลายรายดูเรียบง่ายในการใช้งาน แต่สร้างเองหรือ? นั่นเป็นเรื่องแตกต่าง
เมื่อฉันเริ่มคิดถึงการสร้างสิ่งที่ซับซ้อนเช่นนี้ สมองฉันก็ระเบิด:
- ผู้ใช้ต้องการตัวเลือกเข้าสู่ระบบหลายแบบ (อีเมล, Google, GitHub)
- ผู้ใช้แต่ละคนสามารถสร้างและเป็นเจ้าขององค์กรได้หลายแห่ง
- ระดับการอนุญาตที่แตกต่างกันภายในแต่ละองค์กร
- องค์กรขนาดใหญ่ที่ต้องการให้เข้าร่วมโดยอัตโนมัติสำหรับโดเมนอีเมลเฉพาะ
- ข้อกำหนด MFA สำหรับการดำเนินงานที่มีความอ่อนไหว
- ...
"บอส มาคุยเกี่ยวกับการออกแบบผลิตภัณฑ์ในอีกสองสัปดาห์เถอะ ตอนนี้ผมกำลังติดในหล่มอยู่ครับ"
แต่เมื่อฉันเริ่มลงมือทำจริง ๆ ฉันพบว่าไม่ได้ดูน่ากลัวอย่างที่คิด
ฉันเพิ่ง สร้างระบบที่มีฟีเจอร์ทั้งหมดเหล่านี้ในเวลาน้อยกว่า 2 ชั่วโมง!


ฉันจะแสดงให้คุณเห็นชัด ๆ ว่าออกแบบและใช้งานระบบแบบนี้จากฐานได้อย่างไร - และ คุณจะประทับใจว่าจริง ๆ แล้วมันง่ายแค่ไหนในปี 2025 ด้วยเครื่องมือสมัยใหม่และแนวทางเชิงสถาปัตยกรรมที่ถูกต้อง
ซอร์สโค้ดทั้งหมดอยู่ท้ายบทความนี้ ไปดูกันเลย!
เราจะเริ่มต้นด้วยผลิตภัณฑ์ SaaS ด้านการจัดทำเอกสารที่เรียกว่า DocuMind
DocuMind เป็นผลิตภัณฑ์ SaaS สำหรับการจัดทำเอกสารด้วย AI ที่ออกแบบมาภายใต้โมเดลผู้เช่าหลายราย เพื่อรองรับผู้ใช้รายบุคคล ธุรกิจขนาดเล็ก และองค์กรใหญ่
แพลตฟอร์มนี้มีฟีเจอร์ความสามารถ AI ที่แข็งแกร่งสำหรับการจัดการเอกสาร รวมไปถึงการสร้างสรุปอัตโนมัติ การดึงจุดสำคัญ และการแนะนำเนื้อหาอัจฉริยะภายในองค์กร
ฟีเจอร์ที่จำเป็นสำหรับการรับรองความถูกต้องและการอนุญาตของ SaaS มีอะไรบ้าง?
ก่อนอื่น เรามาทบทวนข้อกำหนดที่จำเป็นกันเถอะ คุณต้องการฟีเจอร์อะไรบ้าง?
สถาปัตยกรรมผู้เช่าหลายราย
เพื่อเปิดใช้งานสถาปัตยกรรมผู้เช่าหลายราย คุณจะต้องมีเลเยอร์เอนทิตีที่เรียกว่า องค์กร ลองจินตนาการว่ามีแหล่งผู้ใช้รวมที่สามารถเข้าถึงที่ทำงานหลายแห่งได้ องค์กรแต่ละแห่งแทนที่ทำงาน และผู้ใช้ยังคงรักษาอัตลักษณ์เดียวขณะที่เข้าถึงที่ทำงานต่าง ๆ (องค์กร) ตามบทบาทที่ได้รับมอบหมาย
มันเป็นฟีเจอร์ที่ใช้กันอย่างแพ ร่หลายในผู้ให้บริการการรับรองความถูกต้อง องค์กรในระบบการบริหารจัดการอัตลักษณ์จะสอดคล้องกับที่ทำงาน โครงการ หรือผู้เช่าของแอปพลิเคชัน SaaS ของคุณ
สมาชิกภาพ
สมาชิกเป็นแนวคิดชั่วคราวที่ใช้เพื่อบ่งบอกสถานะสมาชิกภาพของอัตลักษณ์ภายในองค์กร
ตัวอย่างเช่น ซาร่าห์ลงชื่อสมัครใช้แอปของคุณด้วยอีเมลของเธอ [email protected] เธอสามารถเป็นสมาชิกของที่ทำงานต่าง ๆ ได้ ถ้าซาร่าห์เป็นส่วนหนึ่งของ Workspace A แต่ไม่ใช่ Workspace B เธอถือว่าเป็นสมาชิกของ Workspace A แต่ไม่ใช่ Workspace B
การออกแบบบทบาทและการอนุญาต
ในสถาปัตยกรรมผู้เช่าหลายราย ผู้ใช้ต้องการ บทบาท พร้อม สิทธิ์ ที่เฉพาะเจาะจง เพื่อเข้าถึงทรัพยากรของผู้เช่า
สิทธิ์เป็นการควบคุมการเข้าถึงโดยละเอียดที่กำหนดการกระทำเฉพาะ เช่น read: order
หรือ write: order
พวกเขากำหนดการกระทำที่สามารถทำได้กับทรัพยากรเฉพาะ
บทบาทเป็นชุดของสิทธิ์ที่ได้รับมอบหมายให้กับสมาชิกในสภาพแวดล้อมผู้เช่าหลายราย
คุณจะต้องกำหนดบทบาทและสิทธิ์เหล่านี ้ แล้วมอบหมายบทบาทให้กับผู้ใช้ และบางครั้งอาจรวมถึงกระบวนการอัตโนมัติ ตัวอย่างเช่น:
- ผู้ใช้ที่เข้าร่วมองค์กรจะได้รับบทบาท สมาชิก โดยอัตโนมัติ
- ผู้ใช้คนแรกที่สร้างที่ทำงานจะได้รับบทบาท ผู้ดูแลระบบ โดยอัตโนมัติ
กระบวนการสมัครและเข้าสู่ระบบ
รับรองกระบวนการลงทะเบียนและการรับรองความถูกต้องที่ใช้งานง่ายและปลอดภัย รวมถึงตัวเลือกการเข้าสู่ระบบและการสมัครพื้นฐาน:
- เข้าสู่ระบบด้วยอีเมลและรหัสผ่าน: วิธีการเข้าสู่ระบบแบบดั้งเดิมด้วยอีเมลและรหัสผ่าน
- เข้าสู่ระบบแบบไม่มีรหัสผ่าน: ใช้รหัสการตรวจสอบทางอีเมลเพื่อการเข้าถึงที่ง่ายและปลอดภัย
- การจัดการบัญชี: ศูนย์บัญชีที่ผู้ใช้สามารถอัปเดตอีเมล รหัสผ่าน และรายละเอียดอื่น ๆ
- เข้าสู่ระบบผ่านโซเชียล: ตัวเลือกอย่าง Google และ GitHub สำหรับการเข้าสู่ระบบที่รวดเร็ว
- Multi-Factor Authentication (MFA): เสริมความปลอดภัยโดยอนุญาตให้เข้าสู่ระบบผ่านแอปเพื่อตรวจสอบความถูกต้อง เช่น Duo
การสร้างผู้เช่าและการเชิญสมาชิก
ในแอป SaaS สำหรับผู้เช่าหลายราย ความแตกต่างที่สำคัญในกระบวนการใช้งานของผู้ใช้คือความจำเป็นในการสนับสนุนการสร้างผู้เช่าและการเชิญสมาชิก กระบวนการนี้ต้องการการวางแผนและการดำเนินการอย่างรอบคอบ เนื่องจากมันมีบทบาทสำคัญในการเปิดใช้งานผลิตภัณฑ์และการเติบโตของ ผลิตภัณฑ์
นี่คือไม่กี่กระแสการใช้งานทั่วไปที่คุณต้องพิจารณา:
ประเภทผู้ใช้ | จุดเริ่มต้น |
---|---|
บัญชีใหม่ | เข้าจากหน้าลงชื่อเข้าและสมัครเพื่อตั้งผู้เช่าใหม่ |
บัญชีที่มีอยู่ | สร้างผู้เช่าอีกอันภายในผลิตภัณฑ์ |
บัญชีที่มีอยู่ได้รับการเชิญให้เป็นผู้เช่าใหม่ | เข้าจากหน้าลงชื่อเข้าและสมัคร |
บัญชีที่มีอยู่ได้รับการเชิญให้เป็นผู้เช่าใหม่ | เข้าจากอีเมลเชิญ |
บัญชีใหม่ได้รับการเชิญให้เป็นผู้เช่าใหม่ | เข้าจากหน้าลงชื่อเข้าและสมัคร |
บัญชีใหม่ได้รับการเชิญให้เป็นผู้เช่าใหม่ | เข้าจากอีเมลเชิญ |
นี่คือสถานการณ์ทั่วไปสองสามประเภทที่พบได้ในแอป SaaS เกือบทุกอัน ใช้สิ่งเหล่านี้เป็นข้อมูลอ้างอิงเพื่อกระตุ้นให้ทีมผลิตภัณฑ์และการออกแบบของคุณ และยินดีที่จะสร้างกระแสการใช้งานของคุณเองตามที่ต้องการ






สถาปัตยกรรมเทคนิคและการออกแบบระบบ
เมื่อเราเข้าใจข้อกำหนดของผลิตภัณฑ์ทั้งหมดแล้ว มาดูวิธีการใช้งาน กัน
กำหนดกลยุทธ์การรับรองความถูกต้อง
การรับรองความถูกต้องดูเป็นเรื่องน่ากลัว ผู้ใช้ต้องการ:
- การเข้าสู่ระบบด้วยอีเมลและรหัสผ่าน
- การเข้าสู่ระบบเพียงคลิกเดียวกับ Google/Github
- การรีเซ็ตรหัสผ่านเมื่อพวกเขาลืม
- การเข้าสู่ระบบทั่วทั้งทีมสำหรับลูกค้าองค์กร
- ...
การสร้างฟีเจอร์พื้นฐานเหล่านี้อาจใช้เวลาสัปดาห์ในการพัฒนา
แต่ตอนนี้ เราไม่จำเป็นต้องสร้างสิ่งเหล่านี้เองอีกแล้ว!
ผู้ให้บริการการรับรองความถูกต้องสมัยใหม่ (ฉันจะเลือก Logto ในครั้งนี้) ได้บรรจุฟีเจอร์ทั้งหมดเหล่านี้ไว้ให้เราแล้ว การกระบวนการรับรองความถูกต้องนั้น ตรงไปตรงมา:
จากการพัฒนาหลายสัปดาห์เหลือเพียงการตั้งค่า 15 นาที Logto ดูแลกระบวนการซับซ้อนทั้งหมดให้เรา! เราจะครอบคลุมขั้นตอนการรวมในส่วนการใช้งานที่ภายหลัง ตอนนี้เราสามารถมุ่งเน้นในการสร้างฟีเจอร์หลักของ DocuMind ได้!
สร้างสถาปัตยกรรมผู้เช่าหลายราย
ระบบองค์กรช่วยให้ผู้ใช้สร้างและเข้าร่วมองค์กรได้หลายแห่ง มาทำความเข้าใจความสัมพันธ์หลักกัน:
ในระบบนี้ ผู้ใช้แต่ละคนสามารถเป็นสมาชิกขององค์กรหลายแห่ง และแต่ละองค์กรสามารถมีสมาชิกได้หลายคน
เปิดใช้งานการควบคุมการเข้าถึงในแอปผู้เช่าหลายราย
การควบคุมการเข้าถึงตามบทบาท (RBAC) เป็นสิ่งสำคัญในการประกันความปลอดภัยและความขยายตัวในแอปพลิเคชัน SaaS ผู้เช่าหลายราย
ในแอปพลิเคชันผู้เช่าหลายราย การออกแบบสิทธิ์และบทบาทมักมีความสม่ำเสมอ เนื่องจากดำเนินมาจากการออกแบบผลิตภัณฑ์ ตัวอย่างเช่น ในที่ทำงานหลายแห่ง มักมีบทบาทผู้ดูแลและบทบาทสมาชิก Logto เป็นผู้ให้บริการการรับรองความถูกต้องมีการออกแบบการเข้าถึงตามบทบาทในระดับองค์กรดังนี้:
- การกำหนดสิทธิ์แบบเหมือนกัน: สิทธิ์ถูกกำหนดในระดับระบบและใช้เหมือนกันทุกองค์กร เพื่อความง่า ยในการจัดการสิทธิ์ที่บำรุงรักษาได้และเหมือนกัน
- เทมเพลตองค์กร: การรวมกันของบทบาทและสิทธิ์ที่กำหนดล่วงหน้าผ่านเทมเพลตองค์กร เพื่อให้การเริ่มต้นองค์กรง่ายขึ้น
ความสัมพันธ์ของสิทธิ์ดูเป็นเช่นนี้:
เนื่องจากผู้ใช้แต่ละคนต้องการบทบาทของพวกเขาเองในแต่ละองค์กร ความสัมพันธ์ระหว่างบทบาทและองค์กรจะต้องสะท้อนบทบาทที่มอบหมายให้กับผู้ใช้แต่ละคน:
เราได้ออกแบบระบบองค์กรและระบบควบคุมการเข้าถึงแล้ว และตอนนี้เราสามารถเริ่มสร้างผลิตภัณฑ์ของเราได้!
เทคโนโลยีที่ใช้
ฉันเลือกสแต็คที่รองรับผู้เริ่มต้นและพกพาได้ง่าย:
- Frontend: React (สามารถย้ายไป Vue/Angular/Svelte ได้ง่าย)
- Backend: Express (API ที่เรียบง่ายและเข้าใจง่าย)
ทำไมถึงแยก Frontend และ Backend? เพราะมันมีสถาปัตยกรรมที่ชัดเจน เรียนรู้ง่ายและสามารถเปลี่ยนสแต็คได้ง่าย และสำหรับผู้ให้บริการการรับรองความถูกต้อง ฉันใช้ Logto เป็นตัวอย่าง
และสำหรับคู่มือต่อไปนี้ ลักษณะเหล่านี้สามารถใช้งานได้กับ: Frontend ใด ๆ Backend ใด ๆ และระบบการรับรองความถูกต้องใด ๆ
เพิ่มกระบวนการรับรองความถูกต้องพื้นฐานในแอปของคุณ
นี่เป็นขั้นตอนที่ง่ายที่สุด เราเพียงแค่ต้องรวม Logto เข้ากับโปรเจคของเรา จากนั้นเราสามารถกำหนดวิธีการเข้าสู่ระบบและการลงทะเบียนผู้ใช้ใน Logto Console
ติดตั้ง Logto ในแอปของคุณ
ก่อนอื่น ล็อกอินเข้าสู่ Logto Cloud คุณสามารถลงทะเบียนบัญชีฟรีได้หากคุณยังไม่มี สร้างผู้เช่าพัฒนาสำหรับการทดสอบ
ใน Tenant Console คลิกปุ่ม "แอปพลิเคชัน" ด้านซ้าย จากนั้นเลือก React เพื่อเริ่มสร้างแอปพลิเคชันของเรา
ทำตามคำแนะนำบนหน้า คุณสามารถทำการรวบรวม Logto ได้ในประมาณ 5 นาที!
นี่คือโค้ดการรวบรวมของฉัน:
นี่คือกลเม็ดที่มีประโยชน์: หน้าลงทะเบียนของเรามีทั้งปุ่มเข้าสู่ระบบและลงทะเบียน ปุ่มลงทะเบียนจะนำไปยังหน้าลงทะเบียนของ Logto โดยตรง ซึ่งทำงานผ่านฟีเจอร์ first screen ของ Logto ซึ่งกำหนดว่าผู้ใช้จะได้เห็นขั้นตอนใดของกระบวนการรับรองความถูกต้องที่แรก
คุณสามารถกำหนดให้หน้าเริ่มต้นเปิดที่หน้าลงทะเบียนเมื่อผลิตภัณฑ์ของคุณคาดว่าจะมีผู้ใช้ใหม่มากมาย
หลังจากคลิกเข้าสู่ระบบ คุณจะไปที่หน้าเข้าสู่ระบบของ Logto เมื่อเข้าสู่ระบบสำเร็จ (หรือการลงทะเบียน) ยินดีด้วย! แอปของคุณมีผู้ใช้คนแรก (คุณ)!
และเรียกฟังก์ชัน signOut
จากฮุค useLogto
เมื่อต้องการให้ผู้ใช้ออกจากระบบ
ปรับแต่งวิธีการเข้าสู่ระบบและการลงทะเบียน
ใน Logto Console คลิก "ประสบการณ์การเข้าระบบ" บนเมนูด้านซ้าย แล้วคล ิกแท็บ "การลงทะเบียนและการเข้าสู่ระบบ" ในหน้านี้ ให้ทำตามคำแนะนำเพื่อกำหนดวิธีการเข้าสู่ระบบ/การลงทะเบียนของ Logto
และกระบวนการเข้าสู่ระบบจะดูเป็นเช่นนี้:

เปิดใช้งานการตรวจสอบสองขั้นตอน
ด้วย Logto การเปิดใช้งาน MFA นั้นง่ายมาก เพียงคลิกปุ่ม "การยืนยันตัวตนแบบหลายขั้นตอน" ใน Logto Console แล้วเปิดใช้งานในหน้ายืนยันตัวตนแบบหลายขั้นตอน
และกระบวนการ MFA จะดูเป็นเช่นนี้:


ทุกอย่างง่ายดายมาก! เราได้ตั้งค่าระบบการตรวจสอบผู้ใช้ที่ซับซ้อนในเวลาเพียงไม่กี่นาที!
เพิ่มประสบการณ์องค์กรผู้เช่าหลายราย
ตอนนี้ผู้คนที่ใช้สินค้าของเรากลุ่มแรก! อย่างไรก็ตาม ผู้ใช้เหล่านี้ยังไม่สังกัดในองค์กรใด ๆ เลย และเรายังไม่ได้สร้างองค์กร
Logto ให้การสนับสนุนผู้เช่าหลายรายอย่างติดตั้ง คุณสามารถสร้างองค์กรจำนวนใดก็ได้ใน Logto แต่ละองค์กรสามารถมีสมาชิกได้หลายคน
ผู้ใช้แต่ละคนสามารถดึงข้อมูลองค์กรของตนจาก Logto ซึ่งทำให้รองรับหลายผู้เช่าได้
ดึงข้อมูลองค์กรของผู้ใช้
เพื่อดึงข้อมูลองค์กรของผู้ใช้จาก Logto ให้ทำตามสองขั้นตอนนี้:
ประกาศการเข้าถึงข้อมูลองค์กรใน Logto Config ซึ่งทำได้โดยการตั้งค่า scopes
และ resources
ที่เหมาะสม
ใช้เมธอด fetchUserInfo
ของ Logto เพื่อดึงข้อมูลผู้ใช้ รวมถึงข้อมูลองค์กร
หลังจากทำขั้นตอนเหล่านี้แล้ว คุณต้องออกและเข้าสู่ระบบใหม่ นี่เป็นสิ่งที่จำเป็นเพราะเราดำเนินการขยายขอบเขตและทรัพยากรที่ต้องการเพิ่มเติม
ตอนนี้คุณยังไม่ได้สร้างองค์กรใดเลย ผู้ใช้ยังไม่ได้เข้าร่วมองค์กรใดด้วยเลยใ นขณะนี้ แดชบอร์ดจะแสดง "คุณยังไม่มีสังกัดองค์กรใดเลย"
ต่อไปเราจะสร้างองค์กรสำหรับผู้ใช้ของเราและเพิ่มพวกเขาลงในนั้น
ขอบคุณ Logto ที่เราไม่ต้องสร้างความสัมพันธ์องค์กรที่ซับซ้อน เราเพียงแต่ต้องสร้างองค์กรใน Logto และเพิ่มผู้ใช้ในนั้น Logto ดูแลทุกความซับซ้อนให้เรา มีสองวิธีในการสร้างองค์กร:
- สร้างองค์กรผ่าน Logto Console ด้วยตนเอง
- ใช้ Logto Management API เพื่อสร้างองค์กร โดยเฉพาะเมื่อออกแบบกระแส SaaS ที่ให้ผู้ใช้สร้างองค์กรของตนเอง (ที่ทำงาน)
สร้างองค์กรใน Logto Console
คลิกปุ่ม "องค์กร" ที่เมนูด้านซ้ายใน Logto Console สร้างองค์กร
ตอนนี้คุณมีองค์กรแรกของคุณแล้ว
ต่อไป เราจะเพิ่มผู้ใช้ในองค์กรนี้
ไปที่หน้ารายละเอียดขององค์กร เปลี่ยนไปที่แท็บสมาชิก คลิกปุ่ม "+ เพิ่มสมาชิก" เลือกผู้ใช้ที่คุณเข้าใช้จากรายชื่อซ้าย คลิกปุ่ม "เพิ่มสมาชิก" ที่มุมขวาล่าง ตอนนี้คุณได้เพิ่มผู้ใช้ในองค์กรนี้สำเร็จแล้ว
รีเฟรชหน้าแอปของคุณ คุณจะเห็นว่าผู้ใช้อยู่ในองค์กรแล้ว!
ใช้งานประสบการณ์การสร้างองค์กรด้วยตนเอง
การสร้างองค์กรใน console ไม่เพียงพอ แอป SaaS ของคุณต้องมีกระแสที่ให้ผู้ใช้ปลายทางสร้างและจัดการที่ทำงานของตนเองได้อย่างง่ายดาย เพื่อใช้งานฟังก์ชันนี้ ใช้ Logto Management API
สำหรับคำแนะนำ ตรวจสอบ Interact with Management API เพื่อเตรียมการสื่อสาร API อย่างเป็นทางการกับ Logto
เข้าใจวิธีการสร้างองค์กรด้วยการเชื่อมโยงการรับรองสิทธิ์
มาดูวิธีการสร้างองค์กรเป็นตัวอย่าง ฟังก์ชันการสร้างองค์กรทำงานอย่างไร:
ฟังก์ชันนี้มีความต้องการสำคัญสองประการเกี่ยวกับการรับรองสิทธิ์:
- การป้องกัน API ของบริการแบ็กเอนด์:
- การเข้าถึง Frontend ไปยัง API ของบริการแบ็กเอนด์ของเราต้องการการรับรองสิทธิ์
- จุดเข้า API ได้รับการป้องกันด้วยการตรวจสอบ Access Token ของ Logto
- รับรองว่าผู้ใช้ที่ได้รับการยืนยันเท่านั้นที่สามารถเข้าถึงบริการของเราได้
- การเข้าถึง Logto Management API:
- บริการแบ็กเอนด์จำเป็นต้องเรียก Logto Management API อย่างปลอดภัย
- ทำตามคำแนะนำ Interact with Management API สำหรับการติดตั้ง
- ใช้ Machine-to-Machine authentication เพื่อเข้าถึงข้อมูลรับรอง
ป้องกัน API ของแบ็กเอนด์ของคุณ
ก่อนอื่น มาสร้างจุดเข้า API ในบริการแบ็กเอนด์ของเราสำหรับการสร้างองค์กร
API ของบริการแบ็กเอนด์ของเราอนุญาตให้ผู้ใช้ที่ได้รับการยืนยันเท่านั้น เราจำเป็นต้องใช้ Logto เพื่อป้องกัน API ของเรา และเรายังจำเป็นต้องทราบข้อมูลผู้ใช้ปัจจุบัน (เช่น รหัสผู้ใช้)
ในแนวคิดของ Logto (และ OAuth 2.0) บริการแบ็กเอนด์ของเราทำหน้าที่เป็น resource server ผู้ใช้เข้าถึง resource server ของ DocuMind ด้วย Access token จาก frontend (in frontend) บริการ resource server ตรวจสอบ token นี้ ถ้าถูกต้อง จะคืนทรัพยากรที่ร้องขอ
มาสร้าง API Resource เพื่อเป็นตัวแทนของบร ิการแบ็กเอนด์ของเรากันเถอะ
ไปที่ Logto Console
- คลิกที่ "API resources" ปุ่มด้านขวา
- คลิก "Create API resource" เลือก Express ในป๊อปอัพ
- เติม "DocuMind API" เป็นชื่อ API ใช้ "https://api.documind.com" เป็นตัวระบุตัว API
- คลิกสร้าง
ไม่ต้องกังวลเกี่ยวกับ URL ตัวระบุตัว API นี้ มันเป็นเพียงตัวระบุตัวที่ไม่ซ้ำสำหรับ API ของคุณใน Logto ซึ่งไม่เกี่ยวกับ URL ปกติของบริการแบ็กเอนด์ของคุณ
คุณจะเห็นการแนะนำวิธีการใช้ API resource คุณสามารถทำตามการแนะนำหรือตามขั้นตอนของเราด้านล่าง
มาสร้าง middleware ชื่อ requireAuth เพื่อป้องกันจุดเข้า POST /organizations กันเถอะ
ในการใช้ middleware นี้ เราจำเป็นต้องมีตัวแปรแวดล้อมเหล่านี้:
- LOGTO_JWKS_URL
- LOGTO_ISSUER
รับตัวแปรเหล่านี้จากจุดปลาย OpenID Configuration ของ Logto tenant ของคุณ เยี่ยมชม https://<your-tenant-id>.logto.app/oidc/.well-known/openid-configuration
คุณจะพบข้อมูลที่จำเป็นใน JSON ที่ได้รับคืน:
ตอนนี้ใช้ middleware requireAuth ในจุดเข้า POST /organizations
นี่จะป้องกันจุดเข้า POST /organizations ของเรา เฉพาะผู้ใช้ที่มี Access token ของ Logto ท ี่ถูกต้องเท่านั้นที่สามารถเข้าถึงได้
เราสามารถได้รับ token จาก Logto ใน frontend ของเรา ผู้ใช้สามารถสร้างองค์กรผ่าน API ของบริการแบ็กเอนด์ของเราด้วย token นี้ middleware ยังให้ข้อมูล user ID เราด้วย ซึ่งมีประโยชน์เมื่อเพิ่มผู้ใช้ในองค์กร
ในโค้ด frontend ให้ประกาศ resource API นี้ใน Logto config เพิ่มตัวระบุตัวลงในอาเรย์ resources
เช่นเคย ผู้ใช้จำเป็นต้องลงชชใหม่หลังจากที่เราอัปเดต Logto config
ในแดชบอร์ด ได้รับ Logto Access Token เมื่อสร้างองค์กร ใช้ token นี้เข้าถึง API ของบริการแบ็กเอนด์ของเรา
ตอนนี้เราสามารถเข้าถึง API ของบริการแบ็กเอนด์ของ DocuMind ได้อย่างถูกต้องแล้ว
การเรียก Logto Management API
มาสร้างการสร้างองค์กรด้วย Logto Management API กันเถอะ
คล้ายกับการ ร้องขอ frontend ไปยังบริการแบ็กเอนด์ service ขอแบ็กเอนด์ไปยัง Logto ต้องการ Access token
ใน Logto เราใช้ Machine-to-Machine authentication สำหรับ Access token ดู Interact with Management API
ไปที่หน้าการใช้งานใน Logto Console สร้าง แอป Machine-to-Machine กำหนดบทบาท "การเข้าถึง Logto Management API" คัดลอก Token endpoint, App ID, และ App Secret เราจะใช้สิ่งเหล่านี้สำหรับ Access token
ตอนนี้เราสามารถได้ Access token ของ Logto Management API ผ่านแอป M2M นี้แล้ว
ใช้ Access token นี้เพื่อเรียก Logto Management API
เราจะใช้ API ของ Management เหล่านี้:
POST /api/organizations
: สร้างองค์กร (ดู: Create organization API reference)POST /api/organizations/{id}/users
: เพิ่มผู้ใช้ในองค์กร (ดู: Add users to organization API reference)
เราตอนนี้ได้สร้างการสร้างองค์กรผ่าน Logto Management API และยังเพิ่มผู้ใช้เข้าไปในองค์กรได้แล้ว
ลองทดสอบฟีเจอร์นี้ในแดชบอร์ดกัน
และคลิก “สร้างองค์กร”
สร้างสำเร็จ!
ขั้นตอนถัดไปคือเชิญผู้ใช้มาเข้าร่วมองค์กร เราจะยังไม่สร้างฟีเจอร์นี้ในบทเรียนของเรา แต่คุณทราบวิธีใช้ Management API แล้ว คุณสามารถอ้างอิง การสร้างผู้เช่าและการเชิญ เป็นข้อมูลออกแบบผลิตภัณฑ์และสร้างฟีเจอร์นี้ได้ง่าย ๆ ตามบทความบล็อกนี้: วิธีที่เราสร้างการร่วมมือของผู้ใช้ในแอปผู้เช่าหลายราย