選擇正確的驗證機制
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 適用於兩者。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應