共用方式為


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

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

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

如果您選擇自行撰寫 OAuth 2.0 或 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 應用程式的程式代碼會在 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)。