TFS REST API:如何“代表他人发出请求”?

我希望我的VSTS扩展(安装在本地TFS2015.3)能够代表管理员/服务帐户(“代表他人发出请求”)执行特定请求

背景:我操作(WorkItem)处理模板,特别是我的扩展打字稿中的GLOBALWORKFLOW(仅在团队项目级别),但Web Access中扩展的用户不是项目管理员,因此不允许他使用该功能updateWorkItemTypeDefinition() – 非Project-Admins获得“拒绝访问”,即使我给每个自定义权限组(项目级GLOBALWORKFLOWs的“编辑项目级信息”权限?仍然不适用于自定义组,仅用于项目管理员帐户).

我似乎被迫冒充项目管理员/服务帐户,允许更改项目中的全局工作流程

我如何模拟扩展打字稿代码本地TFS和REST(1.不是.NET和2.而不更改为基本身份验证,已经在其他地方看到了该解决方案 – 但我非常确定我无法在组织中请求更改)

谢谢你的帮助

最佳答案 您可以通过vsts-node-api模拟用户.

模仿用户有很多功能,如Basic,NTLM,PWA(VSTS)等…,你可以查看这些功能here.

import * as vm from 'vso-node-api';

// your collection url
var collectionUrl = "XXX";


let authHandler = vm.getNtlmHandler("[user name]","[password]","[workstation optional]","[domain optional]"); 

var connect = new vm.WebApi(collectionUrl, authHandler);   

There是您可以参考的样本.

点赞