【问题标题】:Visual Studio Online SDKVisual Studio 在线 SDK
【发布时间】:2017-10-16 19:20:17
【问题描述】:

我正在开发一个项目,我需要在 Visual Studio Online 实例上创建工作项。我正在使用个人访问令牌。这会将 CreatedBy 设置为我的名字(预期行为)。我正在考虑使用 Oauth2;但是,我不确定是否有办法做到这一点服务器到服务器(非交互式)?有什么建议吗?

var personalAccessToken = "来自配置的 PAT 值"; HttpClient 客户端 = 新 HttpClient(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes(string.Format("{0}:{1}", "", personalAccessToken)))); 返回客户;

PAT 是在用户的安全上下文中创建的。我需要找到一种无需涉及 UI 即可使用 Oauth 的方法。所以我正在寻找服务器到服务器的身份验证。

对象[] patchDocument = 新对象[5]; patchDocument[0] = new { op = "add", path = "/fields/System.Title", value = bugTitle }; patchDocument[1] = new { op = "add", path = "/fields/Microsoft.VSTS.TCM.ReproSteps", value = bugReproSteps }; patchDocument[2] = new { op = "add", path = "/fields/Microsoft.VSTS.Common.Priority", value = "1" }; patchDocument[3] = new { op = "add", path = "/fields/Microsoft.VSTS.Common.Severity", value = "2 - High" }; patchDocument[4] = new { op = "add", path = "/fields/System.IterationPath", value = deserializeIteration }; //System.IterationPath 字符串 postUrl = $"{_vsoInstanceUrl}/DefaultCollection/ProjectName/_apis/wit/workitems/$Bug?api-version=1.0"; 等待 ExecutePatch(patchDocument.ToArray(), postUrl, "application/json-patch+json");

【问题讨论】:

  • 你最好的办法是研究这个(在这里问一个问题并不是真正的研究,因为它是如何工作的)并尝试一些事情。如果遇到问题,请返回一些代码和结果。 stackoverflow.com/help/how-to-ask

标签: visual-studio


【解决方案1】:

不,不支持服务器到服务器 OAuth。如果您使用 .NET 客户端对象模型,则可以利用 Impersonation support

If your account has "Act on behalf of others" permissions you can also achieve a "User X via YourAccount".

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2016-11-11
    相关资源
    最近更新 更多