แอปพลิเคชัน
แอปพลิเคชันกำหนด ขอบเขตบริการ และ namespace ของผู้ใช้ ผู้ใช้ client และ merchant ทุกตัวอยู่ภายใต้แอปพลิเคชัน บัญชีจะอยู่ภายใต้แอปพลิเคชันและเป็นขอบเขตของการชำระเงิน/ทีมงาน
ลำดับชั้นเป็นแบบสลับ:
Application → Account → Application → Account
แต่ละแอปพลิเคชันเป็น namespace ผู้ใช้ของตัวเอง อีเมลเดียวกันสามารถอยู่ได้หลายแอปโดยไม่ชนกัน
ทำไมถึงสำคัญ
- การสร้างผู้ใช้เกิดที่แอปพลิเคชันแม่ของบัญชีเป้าหมาย
- Access token มีบริบทของแอปและบัญชี ไม่ได้มี namespace claim แยกต่างหาก
- การแยกข้อมูลถูกบังคับโดยขอบเขตของแอป และ membership ของบัญชี
ตัวอย่างลำดับชั้น
app_platform
└─ acc_alice
└─ app_taskflow
└─ acc_bob
app_platformเป็นเจ้าของ Aliceapp_taskflowเป็นเจ้าของ Bobacc_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 | ลบแอปพลิเคชัน |
Token Claims
โทเคนมีบริบทของแอปและบัญชี:
{
"app": "app_root",
"acc": "acc_child456",
"uid": "uid_789",
"role": "member"
}