共用方式為


Microsoft 身分識別平台驗證程式庫

下表顯示數種應用程式類型的 Microsoft 驗證程式庫支援。 其中包含程式庫原始程式碼、取得應用程式專案套件的位置,以及程式庫是否支援使用者登入 (驗證) 和/或存取受保護的 Web API (授權)。

Microsoft 身分識別平台已由 OpenID Foundation 認證為認證 OpenID 提供者。 如果您想要使用 Microsoft 驗證程式庫以外的程式庫 (MSAL) 或其他 Microsoft 支援的程式庫,請選擇一個具有認證 OpenID Connect 實作

如果您選擇硬式編碼 OAuth 2.0 or OpenID Connect 1.0 的專屬通訊協定層級實作,則請特別注意每個標準規格中的安全性考量,並遵循 Microsoft SDL 中的這類安全軟體設計和開發做法。

單頁應用程式 (SPA)

單一頁面應用程式會完全在瀏覽器中執行,並在應用程式載入時,動態擷取頁面資料 (HTML、CSS 和 JavaScript)。 如此可呼叫 Web API 來與後端資料來源進行互動。

因為 SPA 的程式碼完全在瀏覽器中執行,所以將其視為無法安全地儲存秘密的公用用戶端

語言/架構 專案平台
GitHub
套件 開始
啟動
登入使用者 存取 Web API 正式發行 (GA)
公開預覽1
Angular MSAL Angular v22 MSAL Angular 快速入門 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
Angular MSAL Angular3 MSAL Angular 程式庫可以要求使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
AngularJS \(英文\) MSAL AngularJS3 msal-angularjs 程式庫可以要求使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 公開預覽
JavaScript MSAL.js v22 msal-browser 教學課程 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
JavaScript MSAL.js 1.03 msal-core 程式庫可以要求使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
React MSAL React2 msal-react 快速入門 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA

1 在線服務的通用授權條款適用於公開預覽中的連結庫。

2 僅限 PKCE 驗證程式碼流程 (建議使用)。

3 僅限隱含授與流程 (不建議)。

Web 應用程式

Web 應用程式會在伺服器上執行程式碼,以產生 HTML、CSS 和 JavaScript,並將其傳送至使用者的網頁瀏覽器以進行轉譯。 使用者的身分識別會在使用者的瀏覽器 (前端) 和網頁伺服器 (後端) 之間以工作階段的方式維護。

由於 Web 應用程式的程式碼會在網頁伺服器上執行,因此會被視為可以安全地儲存祕密的機密用戶端

語言/架構 專案平台
GitHub
套件 開始
啟動
登入使用者 存取 Web API 正式發行 (GA)
公開預覽1
.NET MSAL.NET Microsoft.Identity.Client 程式庫無法要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
.NET Microsoft.IdentityModel Microsoft.IdentityModel 程式庫無法要求供使用者登入的識別碼權杖。2 程式庫無法要求受保護 Web API 的存取權杖。2 GA
ASP.NET Core Microsoft.Identity.Web Microsoft.Identity.Web 快速入門 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
Java MSAL4J msal4j 快速入門 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
Spring spring-cloud-azure-starter-active-directory spring-cloud-azure-starter-active-directory 教學課程 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
Node.js MSAL 節點 msal-node 快速入門 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
Python MSAL Python msal 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
Python identity identity 快速入門 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 --

(1)線上服務的通用授權條款適用於公開預覽中的程式庫。

(2) Microsoft.IdentityModel 程式庫只會驗證權杖,無法要求識別碼或存取權杖。

桌面應用程式

桌面應用程式通常是二進位 (編譯) 程式碼,其中會顯示使用者介面,且將用於在使用者的桌面上執行。

由於桌面應用程式會在使用者的桌面上執行,因此會被視為無法安全地儲存祕密的公用用戶端

語言/架構 專案平台
GitHub
套件 開始
啟動
登入使用者 存取 Web API 正式發行 (GA)
公開預覽1
Electron MSAL Node.js msal-node 程式庫可以要求使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 公開預覽
Java MSAL4J msal4j 程式庫可以要求使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
macOS (Swift/Obj-C) 適用於 iOS 和 macOS 的 MSAL MSAL (部分機器翻譯) 教學課程 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
UWP MSAL.NET Microsoft.Identity.Client 教學課程 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
WPF MSAL.NET Microsoft.Identity.Client 教學課程 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA

1 在線服務的通用授權條款適用於公開預覽中的連結庫。

行動應用程式

行動應用程式通常是二進位 (編譯) 程式碼,其中會顯示使用者介面,且將用於在使用者的行動裝置上執行。

由於行動應用程式會在使用者的行動裝置上執行,因此會被視為無法安全地儲存祕密的公用用戶端

平台 專案平台
GitHub
套件 開始
啟動
登入使用者 存取 Web API 正式發行 (GA)
公開預覽1
Android (Java) MSAL Android MSAL (部分機器翻譯) 快速入門 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
Android (Kotlin) MSAL Android MSAL (部分機器翻譯) 程式庫可以要求使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
iOS (Swift/Obj-C) 適用於 iOS 和 macOS 的 MSAL MSAL (部分機器翻譯) 教學課程 程式庫可以要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
Xamarin (.NET) MSAL.NET Microsoft.Identity.Client 程式庫可以要求使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA

1 在線服務的通用授權條款適用於公開預覽中的連結庫。

服務/精靈

服務和精靈通常用於伺服器對伺服器和其他自動 (有時也稱為無周邊) 通訊。 由於鍵盤上沒有使用者輸入認證或同意存取資源,因此當要求授權存取 Web API 的資源時,這些應用程式會自行驗證,而非透過使用者。

在伺服器上執行的服務或精靈被視為機密用戶端,可以安全地儲存其祕密。

語言/架構 專案平台
GitHub
套件 開始
啟動
登入使用者 存取 Web API 正式發行 (GA)
公開預覽1
.NET MSAL.NET Microsoft.Identity.Client 快速入門 程式庫無法要求使用者登入的標識碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
Java MSAL4J msal4j 程式庫無法要求供使用者登入的識別碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
節點 MSAL 節點 msal-node 快速入門 程式庫無法要求使用者登入的標識碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA
Python MSAL Python msal-python 快速入門 程式庫無法要求使用者登入的標識碼權杖。 程式庫可以要求受保護 Web API 的存取權杖。 GA

1 在線服務的通用授權條款適用於公開預覽中的連結庫。

下一步

如需關於 Microsoft 驗證程式庫的詳細資訊,請參閱 Microsoft 驗證程式庫 (MSAL) 的概觀