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

เชิญสมาชิกองค์กร

ในแอปพลิเคชันแบบหลายผู้เช่า (multi-tenancy) ความต้องการที่พบบ่อยคือการเชิญสมาชิกเข้าสู่องค์กร คู่มือนี้จะแนะนำขั้นตอนและรายละเอียดทางเทคนิคในการนำฟีเจอร์นี้ไปใช้

ภาพรวมของขั้นตอน

กระบวนการโดยรวมแสดงในไดอะแกรมด้านล่าง:

สร้างบทบาทองค์กร

ก่อนเชิญสมาชิก ให้สร้างบทบาทองค์กร ดู organization template เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับบทบาทและสิทธิ์ (permissions)

ในคู่มือนี้ เราจะสร้างบทบาทองค์กรทั่วไปสองแบบ: admin และ member

บทบาท admin มีสิทธิ์เข้าถึงทรัพยากรทั้งหมดในองค์กร ส่วนบทบาท member มีสิทธิ์จำกัด ตัวอย่างเช่น:

  • บทบาท admin:
    • read:data - อ่านข้อมูลทรัพยากรทั้งหมดขององค์กร
    • write:data - เขียนข้อมูลทรัพยากรทั้งหมดขององค์กร
    • delete:data - ลบข้อมูลทรัพยากรทั้งหมดขององค์กร
    • invite:member - เชิญสมาชิกเข้าสู่องค์กร
    • manage:member - จัดการสมาชิกในองค์กร
    • delete:member - ลบสมาชิกออกจากองค์กร
  • บทบาท member:
    • read:data - อ่านข้อมูลทรัพยากรทั้งหมดขององค์กร
    • write:data - เขียนข้อมูลทรัพยากรทั้งหมดขององค์กร
    • invite:member - เชิญสมาชิกเข้าสู่องค์กร

สามารถดำเนินการนี้ได้ง่าย ๆ ใน Logto Console หรือใช้ Logto Management API เพื่อสร้างบทบาทองค์กรแบบโปรแกรม

ตั้งค่าตัวเชื่อมต่ออีเมลของคุณ

เนื่องจากการเชิญส่งผ่านอีเมล โปรดตรวจสอบให้แน่ใจว่า ตัวเชื่อมต่ออีเมล ของคุณถูกตั้งค่าอย่างถูกต้อง ในการส่งคำเชิญ ให้ตั้งค่า email template โดยใช้ usageType เป็น OrganizationInvitation คุณสามารถใส่ตัวแปรองค์กร (เช่น ชื่อ, โลโก้) และผู้เชิญ (เช่น อีเมล, ชื่อ) ตัวแปร ในเนื้อหา และปรับแต่ง เทมเพลตภาษาท้องถิ่น ได้ตามต้องการ

ตัวอย่าง email template สำหรับ OrganizationInvitation มีดังนี้:

{
"subject": "ยินดีต้อนรับสู่องค์กรของฉัน",
"content": "<p>เข้าร่วม {{organization.name}} ได้ที่ <a href=\"{{link}}\" target=\"_blank\">ลิงก์นี้</a>.</p>",
"usageType": "OrganizationInvitation",
"type": "text/html"
}

ตัวแปร {{link}} ในเนื้อหาอีเมลจะถูกแทนที่ด้วยลิงก์เชิญจริงเมื่อส่งอีเมล

บันทึก:

บริการ “Logto email service” ที่มาพร้อม Logto Cloud ยังไม่รองรับ OrganizationInvitation ในขณะนี้ กรุณาตั้งค่าตัวเชื่อมต่ออีเมลของคุณเอง (เช่น SendGrid) และตั้งค่าเทมเพลต OrganizationInvitation แทน

จัดการคำเชิญด้วย Logto Management API

บันทึก:

หากคุณยังไม่ได้ตั้งค่า Logto Management API ดูรายละเอียดที่ โต้ตอบกับ Management API

สร้างคำเชิญองค์กรด้วย Logto Management API

มีชุด Management API ที่เกี่ยวข้องกับคำเชิญในฟีเจอร์องค์กร โดย API เหล่านี้ คุณสามารถ:

  • POST /api/organization-invitations: สร้างคำเชิญองค์กรพร้อมกำหนดบทบาทองค์กร
  • POST /api/one-time-tokens: สร้างโทเค็นใช้ครั้งเดียวสำหรับผู้รับเชิญเพื่อยืนยันตัวตนเมื่อยอมรับคำเชิญ เรียนรู้เพิ่มเติม
  • POST /api/organization-invitations/{id}/message: ส่งคำเชิญองค์กรไปยังผู้รับเชิญทางอีเมล
บันทึก:

payload รองรับ property link เพื่อให้คุณสร้างลิงก์เชิญเองโดยอิงจาก invitation ID ตัวอย่างเช่น:

{
"link": "https://your-app.com/invitation/join?id=your-invitation-id&token=your-one-time-token&email=invitee-email"
}