AM
JA
無料で始める
メニュー
機能

アプリケーション

交互に連なる Application → Account 階層におけるサービス境界とユーザー名前空間。

applications アプリケーション hierarchy 階層 isolation 分離 permissions 権限

アプリケーション

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_bobapp_taskflow 配下で課金されます。

Application 操作

EndpointDescription
POST /api/accounts/:account_id/applicationsAccount 配下に Application を作成
GET /api/accounts/:account_id/applicationsAccount 配下の Application 一覧
GET /api/applications/:application_idApplication 詳細を取得
PATCH /api/applications/:application_idApplication 設定を変更
DELETE /api/applications/:application_idApplication を削除

トークンクレーム

トークンには Application と Account のコンテキストが含まれます。

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

関連

  • Accounts - 請求およびチーム境界
  • Users - Application 内のユーザーライフサイクル
  • Membership - ユーザーと Account の関連
  • Account - アカウントリソース