00. サービス概要 - idp-serverとは
このドキュメントの目的
idp-server全体像を理解し、何を作るサービスかを把握することが目標です。
所要時間
⏱️ 約15分
idp-serverとは
身元確認特化のエンタープライズ・アイデンティティプラットフォーム
主要機能
-
認証・認可サーバー
- OAuth 2.0 / OpenID Connect (OIDC) 準拠
- 複数の認証方式をサポート(パスワード、SMS、FIDO2、WebAuthn等)
- Grant Type: Authorization Code, Client Credentials, CIBA等
-
マルチテナント
- 複数の顧客(テナント)を1つのシステムで管理
- データ完全分離(PostgreSQL RLS使用)
- 組織単位の管理機能
-
身元確認統合
- 外部KYCサービス連携
- 動的な身元確認フロー設定
- 検証可能な資格情報(Verifiable Credentials)
-
拡張仕様対応
- FAPI: 金融機関向けセキュリティプロファイル
- CIBA: バックチャネル認証(プッシュ通知連携)
- PKCE: パブリッククライアント向けセキュリティ強化
- IDA: 身元保証レベル管理
主要ユースケース
1. エンタープライズSSO(Single Sign-On)
シナリオ: 社内の複数のアプリケーションで統一認証
[社員] → [idp-server] → [認証] → [Access Token発行]
↓
[アプリA] [アプリB] [アプリC]
すべて同じトークンでアクセス可能
実装: Authorization Code Flow + OIDC
2. モバイルアプリ認証
シナリオ: iOSアプリでのログイン(PKCE使用)
[モバイルアプリ] → [idp-server]
↓ Authorization Code + PKCE
[Access Token取得]
↓
[APIサーバー] ← トークン検証
実装: Authorization Code Flow + PKCE Extension
3. 金融機関向けFAPI準拠認証
シナリオ: オープンバンキングAPI(PSD2準拠)
[サードパーティアプリ] → [idp-server]
↓ FAPI準拠フロー(高セキュリティ)
[顧客の銀行口座情報にアクセス]
実装: Authorization Code Flow + FAPI 2.0 + MTLS
4. 身元確認(KYC)統合
シナリオ: オンライン口座開設時の本人確認
[顧客] → [idp-server] → [外部KYC APIに委譲]
↓
[パスポート/運転免許証確認]
↓
[身元確認完了]
実装: Dynamic Identity Verification API + HttpRequestExecutor