Membership
Membership เชื่อมผู้ใช้เข้ากับบัญชีพร้อมบทบาทที่ระบุสิทธิ์ ผู้ใช้คนเดียวสามารถมีสมาชิกภาพในหลายบัญชี และแต่ละบัญชีอาจมีบทบาทต่างกันได้
สคีมา
interface Membership {
id: string; // "mbr..." - ตัวระบุที่ไม่ซ้ำ
user_id: string; // ผู้ใช้ที่มีสมาชิกภาพนี้
account_id: string; // บัญชีที่สมาชิกภาพนี้อยู่
role: MembershipRole;
}
type MembershipRole = "owner" | "member" | "viewer";
คุณสมบัติ
| Property | Type | คำอธิบาย |
|---|---|---|
id | string | KSUID ที่ขึ้นต้นด้วย mbr |
user_id | string | อ้างอิงผู้ใช้ |
account_id | string | อ้างอิงบัญชี |
role | enum | ระดับสิทธิ์ |
บทบาท
| Role | สิทธิ์การใช้งาน |
|---|---|
owner | สิทธิ์เต็ม จัดการสมาชิก และลบบัญชีได้ |
member | อ่าน/เขียนทรัพยากรได้ |
viewer | อ่านอย่างเดียว |
การเข้าถึงหลายบัญชี
User (uid_123)
├── Membership → Account A (role: owner)
├── Membership → Account B (role: member)
└── Membership → Account C (role: viewer)
เคลมในโทเคน
เมื่อเข้าถึงบัญชี โทเคนจะมีข้อมูล:
{
"uid": "uid_123",
"acc": "acc_A",
"role": "owner"
}
ตัวอย่าง
{
"id": "mbr_2kHfPZcN9xW4mE8RtY7vB",
"user_id": "uid_1jGePYbM8wV3lD7QsX6uA",
"account_id": "acc_3lIfQZdO0yX5nF9SuY8wC",
"role": "member"
}
ที่เกี่ยวข้อง
- User - ทรัพยากรผู้ใช้
- Account - ทรัพยากรบัญชี
- Applications - ขอบเขตบริการ
- Users - การจัดการผู้ใช้