メインコンテンツまでスキップ

idp-server コントロールプレーン オンボーディング API (1.0.0)

Download OpenAPI specification:Download

新規組織のオンボーディング(組織・Organizerテナント・管理ユーザー・管理クライアントの一括作成)API仕様書。

このAPIは admin tenant のコンテキストで実行され、以下を原子的に作成します:

  • 組織 (Organization)
  • Organizerテナント (TenantType=ORGANIZER, 組織オーナー用)
  • 認可サーバー設定
  • デフォルトのロール / パーミッション
  • 組織管理者ユーザー
  • 組織管理クライアント

/v1/admin/initialization はadminテナント自体の初期化用APIであり、本APIとは用途が異なります。

onboarding

組織オンボーディング(組織+Organizerテナント+管理者の一括作成)

Onboard a new organization

新規組織とその Organizer テナント、管理者ユーザー、管理クライアントを一括で作成します。

動作

  • 作成されるテナントは常に type=ORGANIZER(サーバー側でハードコード)
  • organization.id / tenant.id / user.sub / client.client_id が指定されない場合、サーバー側でUUIDが生成されます
  • パスワード (user.raw_password) はサーバー側でハッシュ化されて保存されます
  • デフォルトのロール / パーミッションが自動作成され、管理者ユーザーに付与されます
  • 6つのリソース(組織・テナント・認可サーバー・ロール/パーミッション・ユーザー・クライアント)がすべて成功した場合のみコミットされます

Dry Run

dry_run=true を指定すると、リクエストのバリデーションと構築のみ実行され、永続化はスキップされます。 本番実行前の検証に利用してください。

認証

このエンドポイントは admin tenant のコンテキストで実行されます。 admin tenant の管理者として発行されたアクセストークンを Authorization: Bearer で渡してください。

Authorizations:
BearerAuth
query Parameters
dry_run
boolean
Default: false

trueの場合、リクエストの検証と構築のみ実行され、永続化はされません

Request Body schema: application/json
required
required
object (OrganizationRegistration)

作成する組織の情報

required
object (TenantRegistration)

作成する Organizer テナントの情報。 type / tenant_type は指定しても無視され、常に ORGANIZER として作成されます。

required
object (AuthorizationServerRegistration)

OpenID Connect / OAuth 2.0 認可サーバー設定。 スキーマ詳細は swagger-cp-tenant-ja.yamlOpenIDConfiguration を参照してください。

required
object (AdminUserRegistration)

組織管理者ユーザー。デフォルトの管理者ロール・パーミッションが自動付与されます。 status が未指定の場合は REGISTERED が自動設定されます。 preferred_username が未指定の場合はテナントの identity policy に従って自動設定されます(identity policy 未設定時は email 等の指定が必要です)。

required
object (AdminClientRegistration)

組織管理用のOAuth/OIDCクライアント。 詳細なフィールドは swagger-cp-client-ja.yamlClientCreateRequest を参照。

Responses

Request samples

Content type
application/json
{
  • "organization": {
    },
  • "tenant": {
    },
  • "authorization_server": {
    },
  • "user": {
    },
  • "client": {
    }
}

Response samples

Content type
application/json
{
  • "dry_run": true,
  • "organization": { },
  • "tenant": { },
  • "user": { },
  • "client": { }
}