AM
TH
เริ่มต้นฟรี
เมนู
คุณสมบัติ

แอปพลิเคชัน

ขอบเขตบริการและเนมสเปซผู้ใช้ในลำดับชั้นแบบสลับ แอปพลิเคชัน → บัญชี

applications hierarchy isolation permissions

แอปพลิเคชัน

แอปพลิเคชันกำหนดทั้ง ขอบเขตบริการ และ เนมสเปซผู้ใช้ ผู้ใช้ ไคลเอนต์ และร้านค้าทุกรายการจะสังกัดแอปพลิเคชันหนึ่งรายการเสมอ ส่วนบัญชีจะอยู่ภายใต้แอปพลิเคชันและเป็นขอบเขตด้านการเรียกเก็บเงิน/ทีม

ลำดับชั้นจะสลับดังนี้:

Application → Account → Application → Account

นั่นหมายความว่าแต่ละแอปพลิเคชันคือเนมสเปซผู้ใช้ของตัวเอง อีเมลเดียวกันจึงอยู่ในหลายแอปพลิเคชันได้โดยไม่ชนกัน

ทำไมเรื่องนี้สำคัญ

  • การสร้างผู้ใช้จะเกิดในแอปพลิเคชันแม่ของบัญชีเป้าหมาย
  • Access token จะพกบริบทของแอปพลิเคชันและบัญชี โดยไม่ต้องมี namespace claim แยก
  • การแยกขอบเขตถูกบังคับด้วยขอบเขตของแอปพลิเคชัน และสมาชิกภาพของบัญชี

ตัวอย่างลำดับชั้น

app_platform
  └─ acc_alice
       └─ app_taskflow
            └─ acc_bob
  • app_platform เป็นเจ้าของผู้ใช้ Alice
  • app_taskflow เป็นเจ้าของผู้ใช้ Bob
  • acc_bob ถูกเรียกเก็บเงินภายใต้ app_taskflow

การดำเนินการของแอปพลิเคชัน

Endpointคำอธิบาย
POST /api/accounts/:account_id/applicationsสร้างแอปพลิเคชันภายใต้บัญชี
GET /api/accounts/:account_id/applicationsแสดงรายการแอปพลิเคชันในบัญชี
GET /api/applications/:application_idดึงรายละเอียดแอปพลิเคชัน
PATCH /api/applications/:application_idปรับการตั้งค่าแอปพลิเคชัน
DELETE /api/applications/:application_idลบแอปพลิเคชัน

เคลมในโทเคน

โทเคนจะมีบริบทของแอปพลิเคชันและบัญชี:

{
  "app": "app_root",
  "acc": "acc_child456",
  "uid": "uid_789",
  "role": "member"
}

ที่เกี่ยวข้อง

  • บัญชี - ขอบเขตการเรียกเก็บเงินและทีม
  • ผู้ใช้ - วงจรชีวิตผู้ใช้ในแอปพลิเคชัน
  • สมาชิกภาพ - ความเชื่อมโยงผู้ใช้กับบัญชี
  • บัญชี - ทรัพยากรบัญชี