เบื้องหลัง: วิธีที่เราดำเนินการร่วมมือผู้ใช้ภายในแอปหลายผู้เช่า
แนวทางและข้อมูลในการนำเสนอฟีเจอร์การเชิญและการจัดการการเข้าถึงแบบ Logto Cloud ในแอปพลิเคชันหลายผู้เช่า
ภูมิหลัง
สัปดาห์ที่แล้ว เราได้แนะนำ ฟีเจอร์การร่วมมือ บน Logto Cloud ถ้าคุณพลาด ลองชมเลย! ตอนนี้ คุณสามารถเชิญเพื่อนร่วมงานและเพื่อนร่วมงานของคุณมาที่ผู้เช่าของ Logto ที่มีอยู่แล้ว เพื่อร่วมมือกันในการดูแลระบบประจำตัวสำหรับแอปพลิเคชันของคุณ
ในการเปิดตัวฟีเจอร์นี้ เราได้เพิ่มสองบทบาทให้กับแต่ละผู้เช่า Logto:
- ผู้ดูแลระบบ: การเข้าถึงครบถ้วนถึงผู้เช่า รวมถึงการจัดการทรัพยากรที่เกี่ยวกับประจำตัว การเชิญและการจัดการสมาชิกอื่นๆ การจัดการการเรียกเก็บเงิน และการดูประวัติการเรียกเก็บเงิน
- ผู้ร่วมมือ: สามารถจัดการทรัพยากรที่เกี ่ยวกับประจำตัว แต่ไม่สามารถเข้าถึงฟีเจอร์ผู้ดูแลระบบอื่นๆ
สอดคล้องกับความมุ่งมั่นของเราในการใช้เครื่องมือของเราเอง เราได้นำเอา RBAC (การควบคุมการเข้าถึงแบบเป็นบทบาท) และฟีเจอร์องค์กรในการสร้างการร่วมมือผู้ใช้ ถ้าคุณยังใหม่กับ RBAC ลองดู โพสต์ก่อนหน้านี้ของเรา เพื่อเริ่มต้น
ในบล็อกโพสต์นี้ มาดูกันว่ามีอะไรบ้างที่เข้าสู่การดำเนินการฟีเจอร์นี้ และแนวทางเหล่านี้อาจเป็นประโยชน์กับคุณอย่างไรถ้าคุณกำลังพัฒนาแอปพลิเคชันหลายองค์กร
การร่วมมือบน Logto Cloud ถูกสร้างขึ้นด้วย Logto Organizations
แต่ละผู้เช่า Logto Cloud ทำงานเป็นองค์กรอิสระใน ระบบของเรา ซึ่งขับเคลื่อนด้วยฟีเจอร์องค์กรของเราเอง เพื่อนำเสนอผู้ดูแลระบบผู้เช่าและบทบาทผู้ร่วมมือ เราได้สร้างสองบทบาทองค์กรในเทมเพลตองค์กร แต่ละบทบาทถูกกำหนดด้วยชุดอนุญาตองค์กรเฉพาะ
จัดการคำเชิญด้วย Logto Management API
เราได้จัดเตรียมชุด Management API ที่เกี่ยวข้องกับคำเชิญในฟีเจอร์องค์กร ด้วยเอพีไอเหล่านี้ คุณสามารถ:
POST /api/organization-invitations
สร้างและส่งคำเชิญองค์กรไปยังที่อยู่อีเมลGET /api/organization-invitations
&GET /api/organization-invitations/{id}
รับคำเชิญของคุณPUT /api/organization-invitations/{id}/status
ยอมรับหรือปฏิเสธคำเชิญโดยการอัปเดตสถานะคำเชิญ
สำหรับข้อมูลเพิ่มเติม ดู เอกสาร API เต็มรูปแบบ
เชื่อมต่อกับตัวเชื่อมต่ออีเมลของคุณ
เนื่องจากคำเชิญจะถูกส่งทางอีเมล ตรวจสอบให้แน่ใจว่าตัวเชื่อมต่ออีเมลของคุณได้รับการกำหนดค่าอย่างถูกต้อง ในการเปิดตัวนี้ เราได้แนะนำประเภทการใช้งานแม่แบบอีเมลใหม่ OrganizationInvitation
เพื่อให้สามารถปรับแต่งแม่แบบอีเมลคำเชิญได้
แม่แบบอีเมลนี้จะยอมรับตัวแปร {{link}}
โดยเริ่มต้น ซึ่งเป็นลิงก์ไปยังหน้าที่เชื่อมโยงของ Logto Console ที่ผู้ใช้สามารถยอมรับคำเชิญและเข้าร่วมผู้เช่า Logto หนึ่งในหน้าลงจอดใน Logto Cloud ดูเหมือนภาพหน้าจอด้านล่าง:
ดู เอกสาร API สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการส่งอีเมลคำเชิญผ่าน Management API
ใช้ RBAC เพื่อจัดการสิทธิ์ของผู้ใช้
ด้วยการตั้งค่าข้างต้น เราสามารถส่งคำเชิญผ่านทางอีเมล และผู้ถูกเชิญสามารถเข้าร่วมองค์กรด้วยบทบาทที่กำหนด
ผู้ใช้ที่มีบทบาทองค์กรต่างๆ จะมีขอบเขต (สิทธิ์) ต่างกันในโทเค็นการเข้าถึงของพวกเขา ดังนั้นทั้งแอปพลิเคชันลูกค้า (Logto Console) และบริการพื้นหลังของเราควรตรวจสอบขอบเขตเหล่านี้เพื่อตัดสินใจเลือกฟีเจอร์ที่มองเห็นได้และการดำเนินการที่อนุญาต
โอเค ตอนนี้ทุกอย่างดูเหมือนจะเชื่อมต่อกันแล้ว และเราพลาดอะไรอีกไหม?
จัดก ารการอัปเดตขอบเขตในโทเค็นการเข้าถึง
การจัดการการอัปเดตขอบเขตในโทเค็นการเข้าถึงเกี่ยวข้องกับ:
- เพิกถอนขอบเขตที่มีอยู่: ตัวอย่างเช่น ลดตำแหน่งผู้ดูแลระบบลงเป็นผู้ร่วมมือที่ไม่ใช่ผู้ดูแลระบบจะบีบขอบเขตในโทเค็นการเข้าถึงใหม่ที่ได้รับจากโทเค็นอัปเดตที่มีอยู่
- ให้สิทธิ์ขอบเขตใหม่: ในทางกลับกัน การเลื่อนตำแหน่งผู้ใช้เป็นผู้ดูแลระบบต้องเรียกกระบวนการเข้าสู่ระบบใหม่หรือกระบวนการยินยอมใหม่เพื่อสะท้อนการเปลี่ยนแปลงในโทเค็นการเข้าถึงของผู้ใช้
ใน Logto Cloud Console ตรวจสอบขอบเขตของผู้ใช้อย่างจริงจังโดยใช้คำร้อง SWR และเรายินยอมอัตโนมัติเมื่อใดก็ตามที่ผู้ใช้ถูกเลื่อนตำแหน่งเป็นผู้ดูแลระบบ
ถ้าคุณกำลังดำเนินการฟีเจอร์ที่คล้ายกันด้วย RBAC คุณจะต้องมีกลไก (เช่น WebSocket หรือเหตุการณ์ส่งจากเซิร์ฟเวอร์) เพื่อแจ้งแอปพลิเคชันของคุณเกี่ยวกับการอัปเดตขอบเขต เพื่ออนุญาตการยินยอมใหม่หรือการออกโทเค็นการเข้าถึงใหม่ให้เหมาะสม Logto จะจัดเตรียม webhook เพิ่มเติมในอนาคตเพื่อสนับสนุนสิ่งนี้
สรุป
ฟีเจอร์หลายผู้เช่าและการร่วมมือของ Logto Cloud ใช้ฟีเจอร์องค์กรของเรา ถ้าคุณกำลังพัฒนาแอปหลายผู้เช่าที่คล้ายคลึงกัน ให้พิจารณาใช้ฟีเจอร์นี้ด้วยวิธีเช่นเดียวกัน
ฉันหวังว่าบล็อกโพสต์นี้จะมีข้อมูลที่มีประโยชน์ ถ้ามีคำถามหรือข้อถกเถียง อย่าลังเลที่จะเข้าร่ วม ช่อง Discord ของเรา