สร้างองค์กร
ลองจินตนาการว่าคุณกำลังสร้าง แอปแบบหลายผู้เช่า (multi-tenant app) (เช่น แอป SaaS แบบหลายผู้เช่า) ที่ให้บริการลูกค้าจำนวนมาก และแต่ละลูกค้าจะมีผู้เช่า (tenant) ของตัวเองโดยเฉพาะ เมื่อมีลูกค้าใหม่เข้ามา พวกเขาจะสร้างบัญชีใหม่ รวมถึงผู้เช่าใหม่สำหรับธุรกิจของตนเอง
เช่นเดียวกับที่คุณลงทะเบียนบัญชี Logto Cloud และมีผู้เช่า Logto ของคุณเอง คุณสามารถนำสถาปัตยกรรมแบบเดียวกันนี้ไปใช้ในแอปของคุณได้เช่นกัน ด้วยฟีเจอร์ "องค์กร" ของ Logto
สร้างองค์กรของคุณ
มีสองวิธีในการสร้างองค์กรสำหรับแอปของคุณ
สร้างผ่าน Logto Console
สร้างองค์กรของคุณด้วยตนเองผ่าน UI ของ Logto Console ไปที่ Console > Organizations เพื่อสร้างองค์กร กำหนดสมาชิกและบทบาท และปรับแต่ง UI ประสบการณ์การลงชื่อเข้าใช้ขององค์กร
สร้าง "แม่แบบองค์กร (organization template)" หากคุณต้องการสร้างองค์กรที่มีการตั้งค่าบทบาทและสิทธิ์เหมือนกันเป็นชุด
สร้างผ่าน Logto Management API
การคลิกปุ่มบน Console UI นั้นสะดวก แต่สิ่งที่เราต้องการจริง ๆ คือให้ผู้ใช้ปลายทางสามารถสร้างองค์กรและจัดการองค์กรได้ด้วยตนเองใน แอปของคุณ ดังนั้น คุณจะต้องพัฒนาฟีเจอร์เหล่านี้ในแอปของคุณ โดยใช้ Logto Management API
หากคุณยังไม่คุ้นเคยกับ Logto Management API โปรดอ่านเอกสารเหล่านี้ก่อน
Management APIInteract with Management APIสมมติว่าคุณได้เชื่อมต่อ API backend server ของคุณกับ Logto Management API endpoint ผ่านกลไก Machine-to-Machine (M2M) และได้รับ M2M access token แล้ว
สร้างองค์กรด้วย Management API (API references):
curl \
-X POST https://[tenant_id].logto.app/api/organizations \
-H "Authorization: Bearer $M2M_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tenantId":"string","name":"string","description":"string","customData":{},"isMfaRequired":false,"branding":{"logoUrl":"string","darkLogoUrl":"string","favicon":"string","darkFavicon":"string"},"createdAt":1234567890}'
ตัวอย่างการตอบกลับ (201)
{
"tenantId": "string",
"id": "string",
"name": "string",
"description": "string",
"customData": {},
"isMfaRequired": false,
"branding": {
"logoUrl": "string",
"darkLogoUrl": "string",
"favicon": "string",
"darkFavicon": "string"
},
"createdAt": 1234567890
}
จากนั้น คุณสามารถพัฒนา API ของคุณเองสำหรับแอปของคุณได้ ดังนั้นเมื่อผู้ใช้ของคุณดำเนินการ "สร้างองค์กร" ในแอป คุณสามารถตรวจสอบคำขอโดยเช็คสิทธิ์ของพวกเขา แล้วเรียก Logto Management API เพื่อดำเนินการที่เหลือ
การตรวจสอบโทเค็นองค์กรในคำขอของผู้ใช้
ในแอปของคุณ เมื่อผู้ใช้ดำเนินการต่าง ๆ ในบริบทขององค์กร พวกเขาจำเป็นต้องใช้โทเค็นองค์กร (organization token) แทนโทเค็นการเข้าถึง (access token) ปกติ โทเค็นองค์กรเป็น JWT ประเภทพิเศษที่มีสิทธิ์ขององค์กร และเช่นเดียวกับ โทเค็นการเข้าถึง (access tokens) แบบ JWT ใด ๆ คุณสามารถถอดรหัสการอ้างสิทธิ์ (claims) ของโทเค็นและตรวจสอบการอ้างสิทธิ์ "scope" เพื่อเช็คสิทธิ์ได้
ดู การอนุญาต (Authorization) สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับสถานการณ์การอนุญาตและวิธีตรวจสอบโทเค็นองค์กร