應用程式
Application 定義了服務邊界與使用者命名空間。每個 user、client、merchant 都隸屬於某個 Application。帳戶位於 Application 之下,負責計費與團隊邊界。
層級為交替結構:
Application → Account → Application → Account
這表示每個 Application 都是獨立的使用者命名空間。相同 email 可在多個 Application 中同時存在而不衝突。
為什麼這很重要
- 目標帳戶的使用者,會在其父層 Application 內建立。
- Access token 會攜帶 Application 與 Account 上下文,不需要額外的 namespace claim。
- 隔離是由 Application 邊界與帳戶 membership 共同強制。
層級範例
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 | 移除應用程式 |
Token Claims
Token 會包含應用程式與帳戶上下文:
{
"app": "app_root",
"acc": "acc_child456",
"uid": "uid_789",
"role": "member"
}