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

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

Microsoft 身分識別平台 已由 OpenID Foundation 認證為經認證的 OpenID 提供者。 如果您想要使用 Microsoft 驗證連結庫 (MSAL) 或另一個 Microsoft 支援的連結庫,請選擇具有認證的 OpenID 連線 實作連結庫。

如果您選擇自行撰寫 OAuth 2.0 或 OpenID 連線 1.0 通訊協定層級實作的程式代碼,請密切關注每個標準規格的安全性考慮,並遵循 Microsoft SDL 中的安全軟體設計和開發做法。

單頁應用程式 (SPA)

單頁應用程式會在瀏覽器中完全執行,並在應用程式載入時間動態或擷取頁面數據(HTML、CSS 和 JavaScript)。 它可以呼叫 Web API 來與後端數據源互動。

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

語言/ 架構 項目開啟
GitHub
套件 取得
啟動
登入使用者 存取 Web API 正式推出 (GA)
公開預覽1
Angular MSAL Angular v2 2 msal-angular 教學課程 連結庫可以要求使用者登入的標識碼令牌。 連結庫可以要求受保護 Web API 的存取令牌。 GA
Angular MSAL Angular3 msal-angular 連結庫可以要求使用者登入的標識碼令牌。 連結庫可以要求受保護 Web API 的存取令牌。 GA
AngularJS \(英文\) MSAL AngularJS3 msal-angularjs 連結庫可以要求使用者登入的標識碼令牌。 連結庫可以要求受保護 Web API 的存取令牌。 公開預覽
JavaScript MSAL.js v2 2 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 應用程式的程式代碼會在 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 ASP.NET Core Microsoft.AspNetCore.Authentication 快速入門 連結庫可以要求使用者登入的標識碼令牌。 連結庫無法要求受保護 Web API 的存取令牌。 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)。