Microsoft 驗證資源庫 (MSAL) 概觀

Microsoft 驗證程式庫 (MSAL) 可讓開發人員從 Microsoft 身分識別平台端點取得安全性權杖,以驗證使用者並存取受保護的 Web API。 它可用來提供 Microsoft Graph、Microsoft API、第三方 Web API 或您自己的 Web API 的安全存取。 MSAL 支援不同的應用程式架構和平臺,包括 .NET、JavaScript、Java、Python、Android 和 iOS。

MSAL 是令牌擷取連結庫,提供數種方式來取得令牌,並針對支持的平臺提供一致的 API。 使用 MSAL 可提供下列優點:

  • 不需要直接針對 OAuth 通訊協定撰寫應用程式。 管道是由連結庫處理。
  • 可以代表使用者或應用程式取得令牌(適用於平臺)。
  • 連結庫會維護令牌快取,並在令牌即將到期時為您重新整理令牌。 您不需要自行處理權杖到期。
  • 協助您指定希望應用程式登入的群體。 登入物件可以包含個人 Microsoft 帳戶、具有 Microsoft Entra 外部 ID 組織、公司、學校或主權和國家雲端用戶的社會身分識別。
  • 協助您從設定檔設定應用程式。
  • 公開可操作的例外狀況、記錄和遙測,以協助您針對應用程式進行疑難排解。

應用程式類型和案例

您可以使用 MSAL 來取得許多應用程式類型的令牌:Web 應用程式、Web API、單頁應用程式(JavaScript)、行動裝置和原生應用程式,以及精靈和伺服器端應用程式。

MSAL 可用於數個應用程式案例,包括下列各項:

  • 單頁應用程式 (JavaScript)
  • 登入使用者的 Web 應用程式
  • 代表使用者的 Web 應用程式登入使用者並呼叫 Web API
  • Web API 驗證,確保只有已驗證的使用者才能存取它
  • 代表已登入使用者的 Web API 呼叫另一個下游 Web API
  • 代表登入的使用者呼叫 Web API 的傳統型應用程式。
  • 代表以互動方式登入的使用者呼叫 Web API 的行動應用程式
  • 桌面/服務精靈應用程式代表自己呼叫 Web API

語言及架構

程式庫 支援的平台和架構
MSAL.NET .NET Framework、.NET、Xamarin、通用 Windows 平台
MSAL Java Windows、macOS、Linux
MSAL Python Windows、macOS、Linux
MSAL.js JavaScript/TypeScript 架構,例如 Vue.js、Ember.js 或 Durandal.js
MSAL 節點 搭配 Express 的 Web 應用程式、搭配 Electron 的傳統型應用程式、跨平臺主控台應用程式
MSAL React 使用 React 和 React 型程式庫的單一頁面應用程式 (Next.js,Gatsby.js)
MSAL Angular 使用 Angular 和 Angular.js 架構的單一頁面應用程式
適用於 Android 的 MSAL Android
適用於 iOS 和 macOS 的 MSAL iOS 和 macOS
MSAL Go Windows、macOS、Linux