ERROR: The requested resource requires user authentication: https://dev.azure.com/my_org/my_project/_apis/git/repositories

ERROR: The requested resource requires user authentication: https://dev.azure.com/my_org/my_project/_apis/git/repositories

我正在使用正确的令牌登录到 az cli: echo my_pat | az devops login

但是我在获取项目中的现有存储库时看到以下错误:

az repos list --org {ado_org_url} --project {ado_project} --query '[*].name'

错误:请求的资源需要用户身份验证:https://dev.azure.com/my_org/my_project/\_apis/git/repositories

我在设置 pat 时是否遗漏了任何设置?我怎样才能摆脱这个错误?

如果您已经设置了 AZURE_DEVOPS_EXT_PAT 环境变量,则不想使用 az devops login。如果您没有设置 AZURE_DEVOPS_EXT_PAT 环境变量,请先设置它并执行您的 CLI 任务。

az devops 命令现在使用 az login 启用 sign-in,如果您已经使用 [=] 登录,则无需提供令牌12=] 交互或使用用户名和密码。但是,您不能使用 az login 作为服务主体登录。在这种情况下需要 PAT。

如果您仍然需要使用 az devops login 登录,则需要 用户认证。为此,您必须使用服务原则

登录
 "user": {
    "name": "***",
    "type": "servicePrincipal"
  }

参考资料