【问题标题】:Azure devops web extension - access token scoped across all organizationsAzure devops Web 扩展 - 跨所有组织的访问令牌
【发布时间】:2020-07-31 07:21:36
【问题描述】:

在我安装在组织(例如组织 A)中的 ADO Web 扩展中,我想进行 API 调用以更新位于不同组织(例如组织 B)的项目中的工作项。除了更新工作项,我还想从组织 B 获取一些其他项目详细信息。

我在 typescript 中使用以下代码来获取访问令牌

import * as SDK from "azure-devops-extension-sdk";
const token = await SDK.getAccessToken();

使用我在这里获得的令牌,我可以为组织 A https://dev.azure.com/orgA/_apis/projects 调用任何 ADO api。但是,当我为组织 B 调用相同的 API 时,我收到了 401 未经授权的错误。

我在这里遗漏了什么吗?我是否必须定义任何范围以获取可以在我有权访问的任何 ADO 组织中调用 API 的令牌?或者,还有其他方法可以实现吗?

【问题讨论】:

    标签: azure-devops azure-devops-extensions


    【解决方案1】:

    supported scopes 参考文档看来,似乎没有涵盖所有组织的范围。此外,getAccessToken() 函数中没有提供任何参数来定义所有组织。

    作为解决方法,我认为您需要使用从 UI 界面生成的 PAT。生成令牌时,需要选择所有可访问的组织

    【讨论】:

    • 这行得通。但是,期望每个用户手动生成 PAT 以使用我的 Web 扩展是不可行的。我想通过某种方式从用户可访问的另一个组织获取资源,而无需手动创建和处理 PAT 的到期。
    • 目前这个恐怕做不到。您可以在我们的 UserVoice 网站上添加您对该功能的请求,这是我们产品建议的主要论坛。
    猜你喜欢
    • 2021-06-19
    • 2019-05-06
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 2012-03-30
    • 2020-08-31
    相关资源
    最近更新 更多