選擇正確的驗證機制

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

針對與 Azure DevOps Services 介面的應用程式,您必須進行驗證,才能存取 REST API 等資源。 本文提供指引,協助您為應用程式選擇正確的驗證機制。

下表概述各種應用程式類型的建議驗證機制。 請參閱下列基本描述、範例和程式代碼範例,以協助您開始使用。

應用程式類型 描述 範例 驗證機制 程式碼範例
互動式用戶端 (REST) 允許用戶互動呼叫 Azure DevOps Services REST API 的用戶端應用程式 主控台應用程式列舉組織中的專案 Microsoft 驗證連結庫 (MSAL) 樣品
互動式用戶端 (用戶端連結庫) 允許用戶互動呼叫 Azure DevOps Services 用戶端連結庫的用戶端應用程式 主控台應用程式列舉指派給目前使用者的 Bug 用戶端程式庫 樣品
互動式 JavaScript 以 GUI 為基礎的 JavaScript 應用程式 AngularJS 單頁應用程式,顯示使用者的項目資訊 適用於 JavaScript 的 Microsoft 驗證連結庫 (MSAL JS) 樣品
個人存取權杖 (PAT) 持有人令牌以存取您自己的資源 使用 PAT 取代密碼。
非互動式用戶端 僅限無頭部文字用戶端應用程式 顯示指派給使用者之所有 Bug 的控制台應用程式 裝置配置檔 樣品
以 Azure DevOps 為目標的互動式用戶端應用程式 允許使用者互動的用戶端應用程式會驗證 Azure DevOps 使用者 主控台應用程式,可讓 Azure DevOps 使用者查看指派的錯誤 用戶端連結庫 (互動式和 Windows 驗證) 樣品
互動式 Web 需要使用者同意的 GUI 型 Web 應用程式 顯示組建摘要的自定義 Web 儀錶板 Azure DevOps OAuth 樣品
服務主體或受控識別 具有組織 Azure DevOps 資源存取權的應用程式 用來建立工作專案的 Azure 函式 服務主體和受控識別 樣品
Azure DevOps Server 應用程式 使用用戶端 OM 連結庫的 Azure DevOps Server 應用程式 顯示小組 Bug 儀錶板的 Azure DevOps Server 擴充功能 用戶端連結庫 樣品
Azure DevOps Services 擴充功能 Azure DevOps Services 擴充功能 敏捷式卡片 VSS Web 擴充功能 SDK 樣品

如需 Azure DevOps 中安全性和身分識別概念的入門,請參閱 關於安全性和身分識別。 若要深入瞭解如何儲存您的認證,請參閱 Azure DevOps 的認證記憶體。

針對 Azure DevOps Server 使用 PAT 啟用 IIS 基本身份驗證會失效

如需詳細資訊,請參閱 搭配 Azure DevOps 內部部署使用 IIS 基本身份驗證。

常見問題集 (FAQ)

問:為什麼我的其中一個服務帳戶無法存取 Azure DevOps REST API?

答:您的服務帳戶可能尚未「具體化」。由於無法使用沒有互動式登入許可權的服務帳戶登入,請查看 此解決方法

問:我正在建立互動式用戶端應用程式。 我應該使用 Azure DevOps Services 用戶端連結庫Azure DevOps Services REST API 嗎?

答:建議您在存取 Azure DevOps Services 資源時,透過 REST API 使用 Azure DevOps Services 用戶端連結庫。 當 REST 端點的版本變更發生時,它們更簡單且更容易維護。 如果客戶端連結庫缺少功能, MSAL 是搭配 REST API 使用的最佳驗證機制。

問:本指南僅適用於 Azure DevOps Services,還是與內部部署 Azure DevOps Server 使用者相關?

答:本指南主要適用於 Azure DevOps Services 使用者。 用戶端連結庫 是專為擴充 Azure DevOps Server 功能而建置的一系列套件。 針對內部部署使用者,我們建議使用 用戶端連結庫、Windows 驗證或 個人存取令牌 (PAT) 來驗證使用者。

問:如果我希望應用程式同時向 Azure DevOps Server 和 Azure DevOps Services 進行驗證,該怎麼辦?

答:最佳做法是針對 Azure DevOps Server 和 Azure DevOps Services 有不同的驗證路徑。 您可以使用 requestContext 來找出您要點擊哪些項目,然後針對每個機制使用最佳機制。 相反地,如果您想要統一的解決方案, PAT 適用於兩者。