選擇正確的驗證機制
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) | 樣本 |
互動式 OAuth Web 應用程式 | 需要使用者同意的 GUI 型 Web 應用程式 | 顯示組建摘要的自定義 Web 儀錶板 | OAuth | 樣本 |
非互動式用戶端應用程式 | 僅限無頭部文字用戶端應用程式 | 顯示指派給使用者之所有 Bug 的控制台應用程式 | 裝置配置檔 | 樣本 |
個人存取權杖 (PAT) | 持有人令牌以存取您自己的資源 | 使用 PAT 取代 REST 要求的密碼。 不適合用來建置應用程式。 | 拍 | docs |
伺服器應用程式 | 使用用戶端 OM 連結庫的 Azure DevOps Server 應用程式 | 顯示小組 Bug 儀錶板的 Azure DevOps Server 擴充功能 | 用戶端連結庫 | 樣本 |
服務主體應用程式 | 具有組織 Azure DevOps 資源存取權的應用程式 | 用來建立工作專案的 Azure 函式 | 服務主體和受控識別 | 樣本 |
Web 擴充功能 | 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 適用於這兩者。