원클릭으로
dev-platform
プラットフォーム基盤(idp-server-platform)の開発・修正を行う際に使用。マルチテナント、JOSE、トランザクション管理、Plugin System、DI、HTTP クライアント実装時に役立つ。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
プラットフォーム基盤(idp-server-platform)の開発・修正を行う際に使用。マルチテナント、JOSE、トランザクション管理、Plugin System、DI、HTTP クライアント実装時に役立つ。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
UserInfoエンドポイント(UserInfo Endpoint)機能の開発・修正を行う際に使用。UserInfo claims、scopeフィルタリング、verified_claims実装時に役立つ。
外部API認証ユースケースの設定ガイド。外部API連携(認証委譲、リスク判定、OTP等)の interaction 設計、identity_match_field、MFA 2段階目、previous_interaction のヒアリングと設定JSONを提供。
ユースケース別セットアップのエントリポイント。ユーザーにユースケースを選択してもらい、対応するスキル(use-case-login, use-case-mfa等)にルーティングする。共通ワークフロー、前提条件、組み合わせパターンの概要を提供。
認証機能(Authentication Policy, MFA)の開発・修正を行う際に使用。認証ポリシー、パスワード、OTP、FIDO2、条件付き認証実装時に役立つ。
セキュリティ・脆弱性対策の開発・テストを行う際に使用。OAuth/OIDC攻撃対策、認証識別子切り替え攻撃、Session Fixation、マルチテナント分離、セキュリティテスト実装時に役立つ。
外部サービス連携(External Service Integration)機能の開発・修正を行う際に使用。HTTP Request Executor, MappingRule, OAuth/HMAC認証実装時に役立つ。
| name | dev-platform |
| description | プラットフォーム基盤(idp-server-platform)の開発・修正を行う際に使用。マルチテナント、JOSE、トランザクション管理、Plugin System、DI、HTTP クライアント実装時に役立つ。 |
documentation/docs/content_06_developer-guide/01-getting-started/03-design-principles.md - 設計原則idp-server-platform は全モジュールが依存する基盤レイヤー。マルチテナント、暗号化、トランザクション管理、Plugin等の横断的関心事を提供する。
idp-server-core → idp-server-platform
idp-server-use-cases → idp-server-platform
idp-server-*-adapter → idp-server-platform
探索起点: libs/idp-server-platform/src/main/java/org/idp/server/platform/
| カテゴリ | パッケージ | 責務 |
|---|---|---|
| マルチテナント | multi_tenancy/tenant/ | テナント管理・識別・属性 |
| マルチテナント | multi_tenancy/organization/ | 組織管理・メンバー管理 |
| セキュリティ | crypto/, hash/, jose/, x509/, random/ | 暗号化・署名・証明書 |
| インフラ | datasource/ | データソース・トランザクション |
| インフラ | http/ | HTTP クライアント |
| インフラ | proxy/ | Dynamic Proxy(トランザクション自動管理) |
| 基盤機能 | plugin/ | ServiceLoader ベースのプラグイン |
| 基盤機能 | dependency/ | 軽量DIコンテナ |
| ユーティリティ | json/ | JsonConverter(Jackson ラッパー) |
TenantIdentifier - テナント識別子(値オブジェクト)TenantAttributes - テナント固有設定Tenant - テナント集約ルートOrganizationRepository - 組織リポジトリ(Tenant第一引数の例外)// 設定取得はデフォルト値付きの opt メソッドを使用
attributes.optValueAsBoolean("oauth.pkce.enabled", false);
attributes.optValueAsString("token.custom_claim_key", "");
attributes.optValueAsStringList("oauth.allowed_scopes", List.of("openid", "profile"));
注意: optValueAsInt() は存在しない。整数値が必要な場合は optValueAsString() で取得して変換する。
EntryService (Interface)
↓
TenantAwareEntryServiceProxy (Dynamic Proxy)
↓ @Transaction アノテーション検出
↓ TransactionManager 自動呼び出し
↓ PostgreSQL RLS 自動設定
↓
EntryService (実装) → Repository → SqlExecutor
@Transaction アノテーション付与TenantIdentifier を含めるTenantAwareEntryServiceProxy.createProxy() でラップSqlExecutor を使用set_config('app.tenant_id', ?, true) を Proxy が自動実行)探索起点: libs/idp-server-platform/src/main/java/org/idp/server/platform/jose/
Nimbus JOSE + JWT のラッパー。主要クラス:
JoseHandler - 統合ハンドラー(Plain JWT / JWS / JWE 自動判定)JsonWebSignature - JWS パース・クレーム取得JsonWebSignatureVerifier - 署名検証JsonWebToken - Plain JWT パース探索起点: libs/idp-server-platform/src/main/java/org/idp/server/platform/http/
HttpRequestExecutor - java.net.http.HttpClient ベースの高機能実行エンジン
探索起点: libs/idp-server-platform/src/main/java/org/idp/server/platform/plugin/
Java ServiceLoader ベース。静的メソッド API(インスタンス化不可)。
// 内部モジュール(META-INF/services)
List<T> plugins = PluginLoader.loadFromInternalModule(T.class);
// 外部JAR(plugins/ ディレクトリ)
List<T> plugins = PluginLoader.loadFromExternalModule(T.class);
探索起点: libs/idp-server-platform/src/main/java/org/idp/server/platform/dependency/
ApplicationComponentContainer - 軽量DIコンテナ(register() / resolve())JsonConverter.defaultInstance(); // キャメルケース
JsonConverter.snakeCaseInstance(); // スネークケース(HTTP API 向け)
write(object) - Java → JSON 文字列read(json, Class) - JSON → Java オブジェクトread(map, Class) - Map → Java オブジェクト