知識マップ: WinForms/WPFアプリにEntra ID認証を組み込む ── MSAL.NETとWAMブローカーの実務構成

記事「WinForms/WPFアプリにEntra ID認証を組み込む ── MSAL.NETとWAMブローカーの実務構成」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

WinForms/WPFの社内アプリにEntra ID認証を組み込む記事で、MSAL.NETがデスクトップアプリをクライアントシークレットを持たないパブリッククライアントとして扱い、AcquireTokenSilentからAcquireTokenInteractiveへフォールバックする呼び出しパターンを基本形とすることを示す。ユーザー名とパスワードを直接扱うROPCはMFA・条件付きアクセスと非両立で公式に非推奨とされ、Windows環境ではWindows HelloやFIDOキー連携が効くWAMブローカーが推奨される一方、タスクスケジューラなど対話セッション外の無人実行とは両立しない。トークンキャッシュを永続化しないと再起動のたびに対話認証へ戻ってしまい、複数アカウントがキャッシュに残る場合はHomeAccountIdでの照合が、列挙順に依存した誤ったサイレント認証によるアカウント取り違えを防ぐ。

WinForms/WPFのEntra ID認証の知識マップMSAL.NETがデスクトップアプリをパブリッククライアントとして扱いSilentからInteractiveへフォールバックすること、ROPCの非推奨、WAMブローカーの利点と対話セッション前提の制約、トークンキャッシュ永続化とアカウント誤選択対策の関係を示す図利用する利用する実装を担う前提とする前提とするで構成できる前提とするで構成できる用いるのは非推奨両立しない実装を担う前提とする利用する利用する利用する推奨される対応前提とする前提とする両立しない両立しない利用する利用する前提とする軽減する原因になり得るMicrosoft Entra IDMSAL.NETWAM(Web Account Manager)ブローカーWindows FormsWPFパブリッククライアントEntra IDのアプリ登録リダイレクトURI管理者の同意ROPC(Resource Owner Password Credentials)条件付きアクセスSilent→Interactiveパターントークンキャッシュの永続化DPAPIWindows HelloFIDO2タスクスケジューラの無人実行WindowsサービスIDトークンアクセストークンMicrosoft GraphHomeAccountIdサイレント認証でのアカウント誤選択

概念間の関係(全25件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

Microsoft Entra ID
Microsoftのクラウド型ID・アクセス管理基盤。
MSAL.NET
.NETアプリからMicrosoft Entra IDなどのIDプロバイダーに対して認証・トークン取得を行うマイクロソフト製のクライアントライブラリ。
WAM(Web Account Manager)ブローカー
Windows 10(1703)以降とWindows Server 2019以降に組み込まれた認証ブローカーで、Windowsサインイン済みアカウントとのSSOや条件付きアクセス連携をMSAL.NETに提供する。
Windows Forms
デスクトップGUIアプリケーションを構築するための.NET/.NET FrameworkのUIフレームワーク。
WPF
XAMLでUIを宣言的に記述する、Windows専用のデスクトップUIフレームワーク。ベクターベースの描画とデータバインディングを特徴とする。
パブリッククライアント
exeやモバイルアプリなど、クライアントシークレットを安全に保持できず、ユーザーの代理としてのみトークンを取得できるOAuth 2.0クライアントの区分。
Entra IDのアプリ登録
Entra管理センターでアプリケーションをテナントに登録し、クライアントID・リダイレクトURI・APIのアクセス許可などを構成する手続き。
ROPC(Resource Owner Password Credentials)
ユーザー名とパスワードをアプリが直接受け取ってIDプロバイダーに検証させる認証フロー。パブリッククライアント向けは公式に廃止(deprecated)とされている。
Silent→Interactiveパターン
まずAcquireTokenSilentでキャッシュからの取得を試み、MsalUiRequiredExceptionを受けたときだけAcquireTokenInteractiveで対話認証にフォールバックする、MSAL.NETの基本的な呼び出しパターン。
トークンキャッシュの永続化
MSAL.NETの既定ではメモリ上のみのトークンキャッシュを、プロセス再起動をまたいで使えるようファイル等に保存する実装。デスクトップアプリではアプリ側の責任とされる。
Microsoft Graph
Microsoft 365やEntra IDのデータ・機能を統一的なREST APIとして公開するマイクロソフトのプラットフォーム。
HomeAccountId
MSALのアカウントオブジェクトが持つ、どのテナントのどのユーザーかを表す識別子。前回サインインしたアカウントの照合に使える。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。