Microsoft。Identity.Web は、Microsoft Entra ID認証を .NET Framework および .NET Standard アプリケーションに拡張します。 この記事は、シナリオに適したパッケージと統合パターンを選択するのに役立ちます。
シナリオを選択する
アプリケーションの種類に一致する統合パターンを選択します。 Microsoft Entraでは、Web アプリとバックグラウンド サービス用のさまざまなパッケージが提供されます。
MSAL.NET および Microsoft.Identity.Web パッケージ
コンソール アプリ、デーモン サービス、および Web 以外の.NET Framework アプリケーションの場合
Microsoft.Identity.Web.TokenCache と Microsoft.Identity.Web.Certificate パッケージを MSAL.NET と共に使用します。
- トークン キャッシュのシリアル化 (SQL Server、Redis、Cosmos DB、PostgreSQL)
- KeyVault、証明書ストア、またはファイル システムからの証明書の読み込み
- コンソール アプリケーションとデーモン サービス
- .NET Standard 2.0 ライブラリ
MSAL.NET とMicrosoft.Identity.Web ガイド
ASP.NET MVC/Web API の OWIN 統合
ASP.NET MVCおよび Web API アプリケーションの場合
Microsoft.Identity.Web.OWIN パッケージを使用して、フル機能の Web 認証を行います。
- トークンの自動取得のための TokenAcquirerFactory
- Microsoft Graphおよびダウンストリーム API に簡単にアクセスするためのコントローラー拡張機能
- 分散トークン キャッシュのサポート
- 段階的同意処理
統合オプションの比較
次の表は、2 つの統合アプローチの主な違いをまとめたものです。
| 特徴 | MSAL.NET + TokenCache/Certificate | OWIN 統合 |
|---|---|---|
| パッケージ | Microsoft.Identity.Web.TokenCache Microsoft.Identity.Web.Certificate |
Microsoft.Identity.Web.OWIN |
| ターゲット | コンソールアプリ、デーモン、ワーカーサービス | ASP.NET MVC、ASP.NET Web API |
| 認証 | 手動 MSAL.NET 構成 | 自動 OWIN ミドルウェア |
| トークンの取得 | マニュアルにIConfidentialClientApplication |
コントローラー拡張機能を使った自動操作 |
| トークン キャッシュ | すべてのプロバイダー (SQL、Redis、Cosmos、PostgreSQL) | すべてのプロバイダー (SQL、Redis、Cosmos、PostgreSQL) |
| 証明書の読み込み | KeyVault(キー保管庫)、ストア(保存)、ファイル、Base64(ベース64) | MSAL.NET 構成を使用する |
| Microsoft Graph | 手動 GraphServiceClient セットアップ |
this.GetGraphServiceClient() |
| ダウンストリーム API | トークンを使用した手動 HTTP 呼び出し | this.GetDownstreamApi() |
| 段階的同意 | 手動チャレンジ処理 | 自動 MsalUiRequiredException |
利用可能なパッケージを確認する
利用可能なパッケージ
| パッケージ | Purpose | ターゲット アプリケーション |
|---|---|---|
| Microsoft。Identity.Web.TokenCache | MSAL.NET のトークン キャッシュ シリアライザー | コンソール、デーモン、ワーカー サービス |
| Microsoft.Identity.Web.Certificate | 証明書の読み込みユーティリティ | コンソール、デーモン、ワーカー サービス |
| Microsoft。Identity.Web.OWIN | OWIN ミドルウェアの統合 | ASP.NET MVC、ASP.NET Web API |
パッケージの利点を理解する
これらのパッケージは、ASP.NET Coreを必要とせずに、一般的な認証タスクを簡略化します。
| 特徴 | 給付金 |
|---|---|
| トークン キャッシュのシリアル化 | メモリ内、SQL Server、Redis、Cosmos DB、PostgreSQL 用の再利用可能なキャッシュ アダプター |
| 証明書ヘルパー | KeyVault、ファイル システム、または証明書ストアからの証明書の読み込みの簡略化 |
| OWIN 統合 | ASP.NET MVC/Web API のシームレスな認証 |
| .NET Standard 2.0 | .NET Framework 4.7.2 以降、.NET Core、.NET 5 以降と互換性があります |
| 最小依存関係 | ASP.NET Core依存関係のない対象パッケージ |
サンプル アプリケーションを調べる
これらのサンプルは、独自の実装の開始点として使用します。
MSAL.NET サンプル
- ConfidentialClientTokenCache - トークン キャッシュを含むコンソール アプリ
- active-directory-dotnetcore-daemon-v2 - KeyVault からの証明書を含むデーモン
OWIN のサンプル
- ms-identity-aspnet-webapp-openidconnect - Microsoft.Identity.Web.OWIN を使用した ASP.NET MVC