適用於 .NET 的 Microsoft 驗證程式庫

MSAL.NET(Microsoft.Identity.Client)是一個認證函式庫,讓你能從 Microsoft Entra ID 取得令牌,以存取受保護的網頁 API(Microsoft API 或註冊於 Microsoft Entra ID 的應用程式)。

MSAL.NET 可在多個 .NET 平台(桌面、行動裝置及網頁)上使用。

支援的平台與應用程式架構

MSAL.NET 支援不同的應用程式拓撲,包括:

  • 原生用戶端(行動或桌面應用程式)代表使用者呼叫 Microsoft 圖形 API。
  • 代表使用者,或在沒有使用者的情況下呼叫 Microsoft 圖形 API 的守護程式、服務或 Web 用戶端(Web 應用程式或 Web API)。

欲了解更多支援情境資訊,請參見情境。

MSAL.NET 支援多種平台,包括 .NET.NET Framework.NET MAUI

Note

並非所有認證功能在所有平台都能使用。

  • 行動平台不允許機密用戶端流程。 它們並非設計來作為後端運作,也無法安全儲存機密。
  • 在公開客戶端(行動端與桌面版)中,預設瀏覽器與重定向 URI 因平台而異,代理商的可用性也有所不同( 詳見瀏覽器使用文件)。

Note

MSAL.NET 已針對將 Microsoft Entra ID 作為身分識別提供者(IDP)使用的情況進行最佳化。 雖然可以將 MSAL.NET 與支援 OAuth 2 的第三方 IDP 一起使用。 0——尤其是在使用嵌入式或系統瀏覽器(見 瀏覽器使用說明文件)時——互通性並不保證。 Microsoft 不支援第三方 IDP 整合所產生的問題。 此類情境被視為盡力而為,可能無法被處理。

Note

MSAL.NET 4.61.0 及以上版本不支援 通用 Windows 平台、Xamarin Android 及 Xamarin iOS。 在宣佈即將淘汰適用於 Xamarin 和 UWP 的 MSAL.NET中閱讀更多關於此淘汰的資訊。

為什麼要使用 MSAL.NET?

MSAL.NET 提供多種取得令牌的方式。 使用 MSAL.NET 比使用通用 OAuth 函式庫或對協定撰寫呼叫更簡單。 MSAL.NET 提供多項開箱即用的優勢,可簡化開發人員的工作流程:

  • 為你維護 權杖快取,並在權杖即將到期時替你更新權杖
  • 幫助你指定想讓應用程式登入的受眾(你的組織、多個組織、工作、學校及 Microsoft 個人帳號、擁有 Microsoft Entra 外部 ID 的社交身份,或是主權與國家雲端中的使用者)。
  • 透過 設定 檔協助你設定應用程式。
  • 透過揭露可操作的例外、日誌記錄和遙測資料,幫助你排除應用程式故障。

開始使用 MSAL.NET

  1. 了解 MSAL.NET 的使用情境
  2. 請用 Microsoft Entra ID 註冊你的應用程式
  3. 了解 客戶端應用的類型:公開客戶端與機密客戶端。
  4. 了解如何 取得憑證 以存取受保護的 API。

Considerations

MSAL.NET 用於取得權杖。 它不是用來保護網頁 API。 如果你有興趣用 Microsoft Entra ID 保護 Web API,請參考:

從 Azure Active Directory Authentication Library (ADAL) 遷移

適用於 .NET 的 Microsoft 驗證資源庫(MSAL)是可用來取得驗證權杖的受支援函式庫。 如果您或您的組織正在使用 Azure Active Directory 認證函式庫(ADAL),您應該遷移到 MSAL。 ADAL 於 2023 年 6 月 30 日宣告終止生命週期。

Note

雖然 ADAL 自 2023 年 6 月 30 日起被棄用,但依賴 ADAL 的應用程式不應中斷,因為底層端點仍會持續運作。 不過,ADAL 不會提供新功能或支援。

版本

關於先前的版本,請參閱 GitHub 上的版本

如需查看開發中及未來版本的資訊,請參見 Milestones

欲了解更多版本控制資訊,請參閱語意版本管理 - API 變更管理,以了解 MSAL.NET 公開 API 的變更。

Samples

請參閱 我們完整的範例清單