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

実装ガイド概要

このディレクトリについて

idp-serverのコア機能の実装方法を説明する技術ドキュメント集です。

対象読者

  • 機能実装者: 新しい認証方式・外部連携・Plugin等を追加する開発者
  • アーキテクチャ理解者: システム内部の仕組みを深く理解したい開発者
  • 保守担当者: 既存実装の動作原理を把握したい開発者

ドキュメント種別の違い

ドキュメント種別対象焦点詳細度
実装ガイド (本ディレクトリ)機能実装者特定機能の実装手順・設定例中(実践的)
How-To (content_05_how-to)エンドユーザー機能の使い方・設定方法低(使い方のみ)

📚 ドキュメント一覧(カテゴリ別)

Group 1: 基盤アーキテクチャ(Architecture Fundamentals)

読む順序: 1 → 2 → 3 → 4 → 5

#ファイルタイトル内容行数
01impl-01-dependency-injection.mdDependency Injection アーキテクチャフレームワーク非依存のDIコンテナ115
02impl-02-multi-datasource.mdマルチデータソースアーキテクチャマルチテナント+マルチDB管理124
03impl-03-transaction.mdトランザクション管理フレームワーク非依存のトランザクション管理189
04impl-04-caching.mdキャッシュ戦略Redis使用のパフォーマンス最適化41
05impl-07-multi-tenancy.mdMulti-Tenancy実装ガイドTenant/Organization分離、RLSによるDB分離647

合計: 1,116行


Group 2: 認証・認可(Authentication & Authorization)

読む順序: 6 → 7 → 8 → 9 → 10 → 11

#ファイルタイトル内容行数
06impl-05-authentication-policy.md認証ポリシーOAuth/OIDC/CIBA認証フロー制御182
07impl-06-authentication-interactor.mdAuthenticationInteractor実装ガイド新しい認証方式の追加手順113
08impl-08-federation-provider.mdFederation Provider実装ガイド新しいSsoProvider追加手順285
09impl-22-fapi-implementation.mdFAPI実装ガイドFAPI Baseline/Advance、mTLS、Sender-constrained Tokens656
10impl-23-pkce-implementation.mdPKCE実装ガイドCode Verifier/Challenge生成、S256検証612
11impl-26-discovery-metadata.mdOpenID Connect Discovery実装ガイド.well-known/openid-configuration、JWKS、メタデータ生成623

合計: 2,471行

移動:


Group 3: データアクセス・設定管理(Data Access & Configuration)

読む順序: 12 → 13 → 14 → 15

#ファイルタイトル内容行数
12impl-10-repository-implementation.mdRepository実装ガイドDataSource-SqlExecutor Query/Command分離433
13impl-11-configuration-management-api.md設定管理API統一CRUD API(有効/無効機能)455
14impl-12-plugin-implementation.mdPlugin実装ガイドPluginLoaderパターンによる動的切り替え366
15impl-21-scope-claims-management.mdScope & Claims Management実装ガイドスコープ・クレーム管理、カスタムクレームプラグイン687

合計: 1,941行


Group 4: イベント・外部連携(Event & Integration)

読む順序: 16 → 17 → 18 → 19 → 20 → 21

#ファイルタイトル内容行数
16impl-15-security-event-hooks.mdセキュリティイベントフック実装Hook実装・リトライ戦略・エラーハンドリング412
17impl-16-http-request-executor.mdHTTP Request Executorリトライ機構と包括的エラーハンドリング521
18impl-17-external-integration.md外部サービス連携ガイドHttpRequestExecutorを使った外部API連携413
19impl-18-spring-session.mdSpring Session統合ガイドRedisセッションストアとSafeRedisSessionRepository476
20impl-24-notification-fcm-apns.mdFCM/APNs プッシュ通知実装AuthenticationDeviceNotifier プラグイン、JWT トークンキャッシュ570
21impl-25-audit-logging.mdAudit Logging実装ガイドAuditLogWriter プラグイン、非同期処理、カスタムログ出力先489

合計: 2,881行

移動: impl-13-events.md + impl-14-user-lifecycle-event.md → Application Plane: 09-events.md(概念的な内容のため)


📖 読み方ガイド

初めての方(アーキテクチャ理解)

  1. 基盤理解: Group 1(01-04)を順番に読む
  2. 認証理解: Group 2(05-09)で認証の仕組みを理解
  3. データアクセス: Group 3(10-12)でデータ層を理解
  4. イベント・連携: Group 4(13-17)で外部連携を理解

特定機能の実装者

やりたいこと読むべきドキュメント
新しい認証方式を追加07 → 08 → 14 (Interactor → Federation → Plugin)
カスタムクレームを実装15 → 14 (Scope & Claims → Plugin)
FAPI準拠の実装09 → 10 → 11 (FAPI → PKCE → Discovery)
PKCEを理解・実装10 (PKCE)
Discoveryメタデータを理解11 (Discovery Metadata)
プッシュ通知を実装20 → 14 (FCM/APNs → Plugin)
監査ログ出力先を追加21 → 14 (Audit Logging → Plugin)
外部eKYCサービス連携17 → 18 (HTTP Executor → 外部連携)
設定管理APIを理解13 → 12 (設定API → Repository)
セキュリティイベント追加16 → 17 (Event Hooks → HTTP Executor)
Repository実装12 → 02 → 03 → 05 (Repository → DataSource → Transaction → Multi-Tenancy)
Plugin実装14 → 01 (Plugin → DI)
マルチテナント機能実装05 → 02 → 03 → 12 (Multi-Tenancy → DataSource → Transaction → Repository)

トラブルシューティング

問題読むべきドキュメント
外部API呼び出し失敗17 (HTTP Executor)
トランザクションエラー03 (Transaction)
認証失敗06 → 07 → 08 (Policy → Interactor → Federation)
キャッシュ不整合04 (Caching)
テナント分離エラー05 (Multi-Tenancy)
RLS動作不具合05 → 03 (Multi-Tenancy → Transaction)
クレームが返されない15 (Scope & Claims Management)
カスタムクレームプラグインが動かない15 → 14 (Scope & Claims → Plugin)
FAPI検証エラー09 (FAPI Implementation)
PKCE検証失敗10 (PKCE Implementation)
Discoveryメタデータが不正11 (Discovery Metadata)
JWKSで秘密鍵が漏洩11 (Discovery Metadata)
プッシュ通知が届かない20 (FCM/APNs Notification)
監査ログが記録されない21 (Audit Logging)

🔗 関連ドキュメント

開発者ガイド

How-Toガイド


📊 統計情報

カテゴリファイル数総行数平均行数
Group 1: 基盤アーキテクチャ51,116行223行
Group 2: 認証・認可62,471行412行
Group 3: データアクセス・設定管理41,941行485行
Group 4: イベント・外部連携62,881行480行
合計218,409行400行

整理内容:

  • 削除: impl-07-authentication-interactions.md(610行)- Issue #298分析ドキュメント、重複のため削除
  • 🔄 分割・移動:
    • impl-08-federation.md → Application Plane: 08-federation.md(利用者向け)+ impl-08-federation-provider.md(実装者向け)
    • impl-09-id-token-structure.md → Concepts: concept-01-id-token.md(概念説明、146行)
    • impl-13-events.md + impl-14-user-lifecycle-event.md → Application Plane: 09-events.md(概念的な内容)

最終更新: 2025-12-07 整理者: Claude Code(AI開発支援)