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とは用途が異なります。
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:
query Parameters
| dry_run | boolean Default: false trueの場合、リクエストの検証と構築のみ実行され、永続化はされません |
Request Body schema: application/jsonrequired
required | object (OrganizationRegistration) 作成する組織の情報 |
required | object (TenantRegistration) 作成する Organizer テナントの情報。
|
required | object (AuthorizationServerRegistration) OpenID Connect / OAuth 2.0 認可サーバー設定。
スキーマ詳細は |
required | object (AdminUserRegistration) 組織管理者ユーザー。デフォルトの管理者ロール・パーミッションが自動付与されます。
|
required | object (AdminClientRegistration) 組織管理用のOAuth/OIDCクライアント。
詳細なフィールドは |
Responses
Request samples
- Payload
{- "organization": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string"
}, - "tenant": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "authorization_provider": "idp-server",
- "attributes": { },
- "ui_config": { },
- "cors_config": { },
- "session_config": { },
- "security_event_log_config": { },
- "security_event_user_config": { },
- "identity_policy_config": { },
- "enabled": true
}, - "authorization_server": {
- "jwks": "string",
- "token_signed_key_id": "string",
- "id_token_signed_key_id": "string",
- "scopes_supported": [
- "string"
], - "response_types_supported": [
- "string"
], - "grant_types_supported": [
- "string"
], - "token_endpoint_auth_methods_supported": [
- "string"
], - "subject_types_supported": [
- "string"
], - "extension": { }
}, - "user": {
- "sub": "753487e7-10bc-4e69-b3b2-4da33721ea3e",
- "provider_id": "idp-server",
- "external_user_id": "string",
- "name": "string",
- "given_name": "string",
- "family_name": "string",
- "preferred_username": "string",
- "email": "user@example.com",
- "email_verified": true,
- "phone_number": "string",
- "phone_number_verified": true,
- "raw_password": "string",
- "custom_properties": { }
}, - "client": {
- "client_id": "string",
- "client_id_alias": "string",
- "client_secret": "string",
- "response_types": [
- "string"
], - "grant_types": [
- "string"
], - "scope": "string",
- "client_name": "string",
- "token_endpoint_auth_method": "string",
- "application_type": "web"
}
}Response samples
- 200
- 201
- 400
- 401
- 403
- 409
- 500
{- "dry_run": true,
- "organization": { },
- "tenant": { },
- "user": { },
- "client": { }
}