Azure DevOps 的客户端凭证流

Client Credentials Flow for Azure DevOps

我已经研究这个问题好几天了,我从经验中知道我通常会解决这些问题,但这次我碰壁了。

场景

我有一个 python 应用程序,它在 Azure DevOps YAML 管道中被实例化。 该应用程序调用 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 中拥有的内容: 注:

这是我从 Azure Devops 得到的 500 错误:

一切都很混乱,但我确信我只需要调整一两件事就可以让它工作。

出于与您相同的原因,我想在 Azure DevOps 中使用 client_credential 流!上次 I spoke to support they told me it was planned for Q3 2020. Reviewing the roadmap I can't see it on there at the moment. I also couldn't see any feature requests currently raised on Dev Community 所以你可以考虑尝试在那里提高这个问题的知名度。