簡體   English   中英

Azure DevOps 的客戶端憑據流

[英]Client Credentials Flow for Azure DevOps

我已經研究這個問題好幾天了,我從經驗中知道我通常會解決這些問題,但這次我遇到了麻煩。

設想

我有一個在 Azure DevOps YAML 管道中實例化的 Python 應用程序。 應用調用 Azure DevOps REST API 來創建存儲庫

該應用程序使用 PAT(個人訪問令牌)進行身份驗證

第一個問題是,個人訪問令牌以人類用戶的身份連接到我。 如果我離開公司,PAT 將被撤銷,這對需要在非用戶環境中運行的應用程序不利。

所以現在我想設置我的 Python 應用程序以使用客戶端憑據流對 Azure DevOps REST API 進行身份驗證。

我的問題是,我找不到關於此的一致信息。

我在 Azure DevOps 中創建了一個應用程序:

在此處輸入圖片說明

我的計划是讓這一切在 Postman 中工作,然后將我的發現移植到 Python 代碼中。 所以真的,我正在尋求有關我在 Postman 中進行的設置的幫助,其余的我可以在 Python 中自己解決。

許多帖子同時討論 Azure DevOps 和 Azure AAD(Azure Active Directory),但是,當我在 Azure DevOps 中創建應用注冊時,如圖所示,我不明白為什么我會在 AAD 中做任何事情。 (注意,我的 Azure DevOps 實例是在 Azure 之外創建的。Azure 對我的 Azure DevOps 實例一無所知)

任何指向有關如何執行此操作的正確信息的指針都會很好。 請記住,我絕對需要客戶端憑據類型流。 我的應用程序和 Azure DevOps REST API 之間沒有人工交互。

更新

這是我現在在 Postman 中的內容: 在此處輸入圖片說明 筆記:

  • 您可以看到我用來打開和關閉 application/x-www-form-urlencoded 鍵/值對的復選框
  • 資源- 499b84ac-1321-427f-aa17-267ca6975798顯然是 Azure DevOps 的 GUID,不會改變
  • 如果我從 500 錯誤中查看 HTML,我會看到:找不到 hostId 的分區:499b84ac-1321-427f-aa17-267ca6975798 ,這是上面提到的 DevOps 資源 GUID。

這是我從 Azure Devops 得到的 500 錯誤: 在此處輸入圖片說明

這一切都非常令人困惑,但我確信我只需要調整一兩件事即可使其正常工作。

出於與您相同的原因,我想在 Azure DevOps 中使用 client_credential 流! 上次我與支持人員交談時,他們告訴我計划在 2020 年第三季度進行 查看路線圖,我目前在那里看不到它。 我也看不到Dev Community目前提出的任何功能請求,因此您可以考慮嘗試在那里提高此問題的知名度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM