分享方式:


選擇正確的驗證機制

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 單頁應用程式,顯示使用者的項目資訊 Microsoft JavaScript 驗證連結庫 (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 Server 使用 PAT 啟用 IIS 基本身份驗證會失效

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

常見問題集 (FAQ)

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

答:您的服務帳戶可能尚未「具體化」。沒有互動式登入許可權的服務帳戶無法登入。 如需詳細資訊,請參閱 此解決方案的因應 方案。

問:我應該針對互動式用戶端應用程式使用 Azure DevOps Services 用戶端連結庫Azure DevOps Services REST API 嗎?

答:建議您透過 REST API 使用 Azure DevOps Services 用戶端連結庫來存取 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 適用於這兩者。