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

ユースケースカタログ

idp-server が提供する全機能を、アクター・ユーザーストーリーごとに網羅的に整理したカタログです。

仕様設計、テスト設計、外部連携設計のベースとして活用できます。

テンプレートで試したい場合: 各ユースケースのセットアップ手順・業種別の推奨構成は 導入ガイド を参照してください。

アクター定義

各ユースケースに登場するアクターの役割と責務を定義します。

アクター役割システム境界説明
ユーザーエンドユーザー外部サービスを利用する人(ブラウザ/モバイルアプリ経由でアクセス)
RP (Relying Party)クライアントアプリケーション外部IdP を信頼してユーザー認証を委任するアプリケーション(OAuth 2.0 Client)
リソースサーバーAPI サーバー外部アクセストークンで保護されたリソース(API)を提供するサーバー
システム外部サービス外部身元確認サービス等の外部連携システム(コールバック経由で連携)
非同期ワーカーバックグラウンド処理内部イベント駆動で非同期処理を実行(通知送信・監査ログ記録等)
サーバー管理者運用者内部IdP サーバー全体の初期設定・メンテナンスを実施
テナントオーナーテナント所有者外部テナント作成者(初期オンボーディングを実施)
テナント管理者テナント運用者外部テナント内の設定・ユーザー・クライアントを管理

用語集

主要な専門用語の説明です。

用語正式名称説明関連仕様
OIDCOpenID ConnectOAuth 2.0 ベースの認証プロトコル。ID トークンによるユーザー認証を提供OpenID Connect Core 1.0
CIBAClient Initiated Backchannel Authenticationデバイス外(バックチャンネル)で認証を完了するフロー。IoT・ATM 等で利用OpenID Connect CIBA
FIDO UAFFast Identity Online - Universal Authentication Frameworkパスワードレス認証の標準規格。生体認証等を使用FIDO UAF Spec
RPRelying PartyOpenID Provider を信頼するクライアントアプリケーション(OAuth 2.0 Client と同義)OIDC Terminology
認可コードAuthorization Codeトークンと交換するための一時的なコード(OAuth 2.0 Authorization Code Flow)RFC 6749 Section 1.3.1
アクセストークンAccess Tokenリソースサーバーへのアクセス権限を表すトークンRFC 6749 Section 1.4
リフレッシュトークンRefresh Token新しいアクセストークンを取得するためのトークンRFC 6749 Section 1.5
ID トークンID Tokenユーザー認証情報を含む JWT(OIDC)OIDC Core Section 2
eKYCelectronic Know Your Customerオンラインでの本人確認プロセス-
MFAMulti-Factor Authentication多要素認証(パスワード + 生体認証等)-
SSFShared Signals Frameworkセキュリティイベントを共有するためのフレームワークOpenID SSF

アプリケーション

エンドユーザーやクライアントアプリケーションが利用する機能です。

認証・認可(ユーザー)

テンプレート: login-password-only / login-social / ciba

#ユーザーストーリーシステム機能実装詳細
1アプリケーションにログインしたいOAuth 2.0 認可コードフローによる認証・認可
フロー概要認可リクエスト → 認証画面(ログイン) → 同意画面 → 認可コード発行 → RP へリダイレクト

関連仕様: RFC 6749 Section 4.1
2Google/GitHub アカウントでログインしたいフェデレーション認証(外部 IdP 連携)
フロー概要外部 IdP へリダイレクト → 外部 IdP で認証 → コールバック処理 → IdP セッション確立
3ATM・IoT デバイスで認証したいCIBA(バックチャンネル認証)
フロー概要デバイスが認証リクエスト送信 → ユーザーがモバイルアプリで承認/拒否 → デバイスがトークン取得

関連仕様: OpenID Connect CIBA
4一度ログインしたら他のアプリでも自動ログインしたいSSO(シングルサインオン)セッション管理
フロー概要既存セッション確認 → 自動認可(同意画面スキップ) → 認可コード発行
5すべてのアプリからログアウトしたいRP-Initiated Logout(全セッション終了)
フロー概要IdP セッション削除 → 全 RP へログアウト通知(Front-Channel/Back-Channel)

トークン・リソースアクセス

#ユーザーストーリーシステム機能実装詳細
1API を呼び出したいアクセストークン発行・リフレッシュ
フロー概要認可コードをトークンに交換(Token Exchange)
トークン期限切れ時はリフレッシュトークンで更新

関連仕様: RFC 6749 Section 6
2ログアウト時にトークンを無効化したいトークン失効(Revocation)
概要アクセストークン・リフレッシュトークンを無効化し、以降の利用を防止

関連仕様: RFC 7009
3ユーザーのプロフィール情報を取得したいUserInfo エンドポイント
概要アクセストークンを使って email・name・profile 等のユーザー属性を取得

本人確認(eKYC)

テンプレート: ekyc

#ユーザーストーリーシステム機能実装詳細
1オンラインで本人確認を完了したいeKYC 申請・審査結果取得
フロー概要身元確認申請送信 → 外部 eKYC サービスで審査 → 結果コールバック受信 → ユーザーが結果取得

操作: 申請・履歴照会・結果取得・キャンセル
外部連携: eKYC サービスとの HTTP 連携(動的テンプレート対応)

多要素認証・デバイス管理

テンプレート: mfa-email/ mfa-sms / passwordless-fido2

#ユーザーストーリーシステム機能実装詳細
1SMS・Email で追加認証したいMFA(多要素認証)フロー
フロー概要MFA トランザクション開始 → コード送信(SMS/Email) → ユーザーがコード入力 → 検証完了
2生体認証・FIDO で認証したいFIDO UAF 統合
概要FIDO UAF プロトコルによる生体認証
デバイス登録履歴・最終利用日時の管理

システム統合(RP・リソースサーバー向け)

テンプレート: third-party

#利用者ユーザーストーリーシステム機能実装詳細
1RPIdP の設定を自動取得したいOIDC Discovery(メタデータ配信)
概要IdP エンドポイント・サポート機能・公開鍵を JSON で配信
RP は動的に設定を取得可能
2リソースサーバーアクセストークンの有効性を確認したいToken Introspection
概要トークンの有効性・スコープ・有効期限を検証

関連仕様: RFC 7662
3外部システムテナント設定を動的に取得したいテナントメタデータ配信
概要テナント固有の設定(外部 API URL・カスタム属性等)を JSON で配信

バックグラウンド処理(非同期ワーカー)

#ユーザーストーリーシステム機能実装詳細
1ユーザー作成時に Welcome メールを送りたいユーザーライフサイクルイベント処理
トリガーイベント: ユーザー作成/更新/削除
処理: 通知送信・外部システム連携・監査ログ記録
2不正ログイン時にアカウントをロックしたいセキュリティイベント処理
トリガーイベント: 連続ログイン失敗・異常アクセス検知
処理: アカウントロック・管理者通知・SSF イベント送信

コントロールプレーン

テナント管理者が IdP の設定・リソースを管理するための機能です。

初期セットアップ

#管理者ユーザーストーリーシステム機能実装詳細
1サーバー管理者IdP サーバーを起動したいサーバー初期設定
概要初期管理者作成・システムテナント作成・基本設定の初期化
2サーバー管理者最初のテナントを作成したいテナント初期登録
概要初回のみ特別権限でテナント作成可能
3テナントオーナー新規テナントを利用開始したいテナントオンボーディング
概要テナント作成 + 初期管理者登録 + 基本設定を一括実行

テナント・リソース管理

#ユーザーストーリーシステム機能実装詳細
1複数のテナントを管理したいテナント CRUD
操作テナント作成・一覧取得・詳細取得・設定更新・削除

dry_run 対応: 変更前プレビュー可能
2OAuth クライアントを登録・管理したいClient CRUD
操作クライアント登録・一覧取得・詳細取得・設定更新・削除

設定項目: redirect_uri・grant_types・scopes・token 有効期限等
3ユーザーアカウントを管理したいUser CRUD + 権限管理
操作基本 CRUD + パスワード更新・ロール割当・テナント割当・組織割当

マルチテナント対応: ユーザーは複数テナント・組織に所属可能
4IdP の動作設定を変更したい認可サーバー設定
設定項目トークン有効期限・サポートする grant_type・PKCE 必須化・セッション設定等

認証・認可設定

#ユーザーストーリーシステム機能実装詳細
1認証フローをカスタマイズしたい認証設定管理
設定例MFA 必須化・パスワードポリシー・セッションタイムアウト・認証手段の優先順位等

動的テンプレート対応: JSON で柔軟に設定可能
2Google・GitHub ログインを有効化したいフェデレーション設定
設定例外部 IdP 種別(Google・GitHub・SAML 等)・OAuth 2.0 Client ID/Secret・スコープ・属性マッピング
3本人確認プロバイダーを連携したい身元確認設定
設定例eKYC サービス API 連携・審査フロー定義・コールバック URL・HTTP リクエストテンプレート

セキュリティ・監査

#ユーザーストーリーシステム機能実装詳細
1セキュリティイベントを外部に通知したいSecurity Event Hook 設定
設定例Webhook URL・通知イベント種別(ログイン失敗・アカウントロック等)・認証方式(HMAC・OAuth 2.0)
2ユーザー操作履歴を監査したい監査ログ閲覧
概要全ての管理操作(CRUD)の履歴を記録・照会可能
フィルタリング: 日時・操作種別・ユーザー・リソース種別

チーム管理

#ユーザーストーリーシステム機能実装詳細
1他のメンバーをテナントに招待したいメンバー招待管理
フロー概要招待メール送信 → 受信者が招待リンククリック → アカウント作成 → テナントメンバーとして登録

期限管理: 招待の有効期限・使用済み招待の無効化