整合 Microsoft.Identity.Web 與 ASP.NET 框架及 .NET 標準

Microsoft。Identity.Web 將 Microsoft Entra ID 認證擴展至 .NET Framework 及 .NET Standard 應用程式。 本文將協助你選擇最適合你情境的套件與整合模式。

選擇你的情境

選擇與你應用程式類型相符的整合模式。 Microsoft Entra 提供不同的網頁應用程式和背景服務套件。

MSAL.NET 與 Microsoft.Identity.Web 套件

用於主控台應用程式、守護程序服務及非網頁的 .NET Framework 應用程式

用 Microsoft。Identity.Web.TokenCache 與 Microsoft。Identity.Web.Certificate 套件搭配 MSAL.NET,適用於:

  • 令牌快取序列化(SQL Server、Redis、Cosmos DB、PostgreSQL)
  • 從 KeyVault、憑證儲存庫或檔案系統載入憑證
  • 主控台應用程式與守護程式服務
  • .NET 標準 2.0 函式庫

MSAL.NET 與 Microsoft。Identity.Web 指南


ASP.NET MVC/Web API 的 OWIN 整合

用於 ASP.NET MVC與網頁API應用

用 Microsoft.Identity.Web.OWIN 套件提供完整的網頁驗證,具備以下功能:

  • TokenAcquirerFactory 用於自動代幣獲取
  • 控制器擴充功能,方便存取 Microsoft Graph 及下游 API
  • 分散式代幣快取支援
  • 增量同意處理

OWIN 整合指南


比較整合選項

下表總結了兩種積分方法的主要差異。

Feature MSAL.NET + 令牌快取/憑證 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 透過 MSAL.NET 設定
Microsoft Graph 手動 GraphServiceClient 設定 this.GetGraphServiceClient()
下游 API 手動進行帶令牌的 HTTP 呼叫 this.GetDownstreamApi()
漸進同意 手動挑戰處理 自動化 MsalUiRequiredException

評估可用方案

Microsoft.Identity.Web 1.17+開始,你可以在非 ASP.NET Core 環境中使用 Microsoft Identity 庫。 以下套件針對 .NET Framework 與 .NET Standard 工作負載。

可用套件

Package 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。

Feature 優點
令牌快取序列化 可重複使用的快取適配器,適用於內存、SQL Server、Redis、Cosmos DB、PostgreSQL
憑證助手 從 KeyVault 中、檔案系統或憑證存儲庫簡化憑證載入
OWIN 整合 ASP.NET MVC/Web API 的無縫認證
.NET標準 2.0 相容於 .NET Framework 4.7.2+、.NET Core 及 .NET 5+
最小相依關係 不依賴 ASP.NET Core 的目標化套件

探索範例應用

把這些範例當作你自己實作的起點。

MSAL.NET 範例

OWIN 範例