【问题标题】:How to determine if given Azure DevOps PAT token is valid for all accessible organizations?如何确定给定的 Azure DevOps PAT 令牌是否对所有可访问的组织都有效?
【发布时间】:2019-05-06 11:36:20
【问题描述】:

在 Azure DevOps 上创建新的个人访问令牌时,可以将其 Organization 选择为 All accessible organizations。如何以编程方式确定 PAT 令牌(字符串)是否对所有可访问的组织有效,还是仅对一个组织有效?

我能找到的最相关的 Azure DevOps 文档:Authenticate access with personal access tokens for Azure DevOps Services and TFS

可能相关的来源:Git-Credential-Manager-for-Windows/Microsoft.Alm.Authentication/Src/Token.cs

【问题讨论】:

    标签: azure tfs azure-devops token access-token


    【解决方案1】:

    您可以发送请求到

    GET https://app.vssps.visualstudio.com/_apis/profile/profiles/me?api-version=6.0
    

    只有“所有可访问的组织”PAT 才会得到有效响应

    然后,您可以获取该响应的 id 并调用它以获取有关 PAT 是哪些组织的所有者/成员的更多信息

    GET https://app.vssps.visualstudio.com/_apis/accounts?[ownerId|memberId]={idFromFirstReq}&api-version=6.0
    

    【讨论】:

      【解决方案2】:

      据我所知,没有任何 API 可以验证 PAT 或以其他方式告诉您有关它的信息。

      检查 PAT 是否有权访问某处的最简单方法是使用它来访问 REST API。如果你得到一个200,你就很好。如果您收到 401,则您无权访问。列出项目是一项非常安全的操作,基本上任何有权访问组织的 PAT 都可以这样做:

      GET https://dev.azure.com/{organization}/_apis/projects/?api-version=4.1

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-17
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      • 2020-06-17
      相关资源
      最近更新 更多