適用於 JavaScript 的 Microsoft Authentication Library(MSAL.js)

適用於 JavaScript 的 Microsoft Authentication Library 可讓用戶端和伺服器端的 JavaScript 應用程式透過 Microsoft Entra ID 服務,驗證使用者的公司與學校帳戶、Microsoft 個人帳戶 (MSA),以及透過 Azure AD B2C 服務的 Facebook、Google、LinkedIn、Microsoft 帳戶等社交身分識別提供者帳戶。 它也讓你的應用程式能獲得 Microsoft Cloud 服務(如 Microsoft Graph)的憑證。

核心與包裝函式庫

該 lib 資料夾包含正在積極開發 MSAL.js 函式庫的原始碼。 你也可以在各自的 README.md 檔案中找到關於 安裝函式庫 的所有詳細資訊。

v5 有什麼新內容

MSAL.js v5 引入了幾項關鍵功能:

  • 跨來源開啟器政策(Cross-Origin-Opener-Policy,COOP)支援:可在採用嚴格 COOP 標頭的環境中啟用快顯式驗證流程。
  • 模型情境協定(MCP)認證:支援 AI 代理與工具整合的認證流程。
  • 巢狀應用程式認證(NAA):啟用在 Microsoft 365 主機應用程式createNestablePublicClientApplication中運行的應用程式的認證。
  • localStorage AES-GCM 加密:利用 AES-GCM 加密 localStorage 中的憑證快取以提升安全性。
  • 工廠函式:使用 createStandardPublicClientApplication 或 createNestablePublicClientApplication 以非同步組態初始化 MSAL。
  • 平台代理(WAM)整合:透過allowPlatformBroker設定選項啟用 Windows 認證管理器(WAM)代理認證。

關於 MSAL JavaScript v5.x 的遷移指南,請參見:

處於長期支援(LTS)狀態的程式庫

下表顯示每個 MSAL.js 函式庫的主動版本與 LTS 版本:

Library 現役版本 LTS 版本
MSAL 瀏覽器 v5.x v2.x
MSAL 節點 v5.x v1.x
MSAL-反應 v5.x v1.x
MSAL-角 v5.x v2.x

LTS 函式庫託管於分支msal-lts機構,目前已不再積極開發,但仍獲得關鍵的安全漏洞修正支援。

Note

該 msal-lts 分支也包含 msal-browser 的 v3.x 和 v4.x,而這些版本已轉為不再提供主動支援。

套件結構

有許多不同的方案是針對不同平台設計的。 你可以在下方的套件結構中看到套件與他們實作的不同認證流程之間的關係。

MSAL JavaScript 套件結構圖的截圖。

Samples

code samples示範如何搭配身分識別平台使用適用於 JavaScript 的 Microsoft 驗證程式庫。 每個程式碼範例都包含 README.md 一個描述如何建置專案(如適用)及執行範例應用程式的檔案。

如需完整針對 JavaScript 及其他語言、框架與平台的範例清單,請參閱 Microsoft 身分識別平台 程式碼範例。

在原生認證功能方面, 範例應用程式 展示了如何在 React 和 Angular 網頁應用程式中使用原生認證。 每個程式碼範例都包含 README.md 一個描述如何建置專案及執行範例應用程式的檔案。 目前的原生驗證 API 不支援跨來源資源共享(Cross-Origin Resource Sharing,CORS),因此範例應用程式將透過本機代理執行。

套件版本控制

我們所有的函式庫都遵循 語意版本控制。 我們建議使用每個函式庫的最新版本,以確保你擁有最新的安全修補程式和錯誤修正。

安全性報告

若您發現我們的圖書館或服務存在安全問題,請盡可能詳細地向 Microsoft 安全回應中心(MSRC)報告。