アプリケーション
AccountMaker(以下「AM」)の Application は サービス境界 と ユーザー名前空間 を定義します。すべての User、Client、Merchant は Application に属します。Account は Application 配下に存在し、請求とチームの境界を表します。
階層は次のように交互になります。
Application → Account → Application → Account
つまり、各 Application は独立したユーザー名前空間です。同じメールアドレスでも複数の Application に衝突なく存在できます。
これが重要な理由
- ユーザー作成は、対象 Account の親 Application で実行されます。
- アクセストークンには Application と Account のコンテキストが含まれ、別の名前空間クレームは不要です。
- 分離は Application 境界と Account Membership によって強制されます。
階層例
app_platform
└─ acc_alice
└─ app_taskflow
└─ acc_bob
app_platformは Alice をユーザーとして保持します。app_taskflowは Bob をユーザーとして保持します。acc_bobはapp_taskflow配下で課金されます。
Application 操作
| Endpoint | Description |
|---|---|
POST /api/accounts/:account_id/applications | Account 配下に Application を作成 |
GET /api/accounts/:account_id/applications | Account 配下の Application 一覧 |
GET /api/applications/:application_id | Application 詳細を取得 |
PATCH /api/applications/:application_id | Application 設定を変更 |
DELETE /api/applications/:application_id | Application を削除 |
トークンクレーム
トークンには Application と Account のコンテキストが含まれます。
{
"app": "app_root",
"acc": "acc_child456",
"uid": "uid_789",
"role": "member"
}
関連
- Accounts - 請求およびチーム境界
- Users - Application 内のユーザーライフサイクル
- Membership - ユーザーと Account の関連
- Account - アカウントリソース