【问题标题】:Authenticate to VSTS using simple console aplication使用简单的控制台应用程序对 VSTS 进行身份验证
【发布时间】:2017-09-29 13:12:44
【问题描述】:

我需要制作简单的控制台应用程序 (.NET),它可以从 VSTS 获取我的所有工作项目。根据this 文章,我必须注册我的应用程序并提供将发送访问令牌的有效回调 url。然后我可以使用这个令牌从另一个 API 请求工作项。据此,我必须制作一个 Web 应用程序并将其托管在某个地方,因为回调 url 必须是有效且安全的。你能给我一个简单的方法,我可以提供用户的凭据(获取令牌)并请求工作项。

【问题讨论】:

  • 对于控制台应用程序,只需使用个人访问令牌、备用凭据或调用 EnsureAuthenticated,VSTS 将打开一个弹出窗口。无需回调和 OAuth 流程等,用于注册 Web 应用程序
  • 我不想使用个人访问令牌。我想提供凭据并接收令牌。
  • 然后调用 EnsureAuthenticated。
  • 你用我的解决方案解决了这个问题吗?

标签: .net rest authentication console-application azure-devops


【解决方案1】:

由于它是一个控制台应用程序,你可以参考下面这段代码,它会提示一个微软登录窗口进行身份验证。 (将Microsoft.TeamFoundationServer.ExtendedClient 包安装到您的项目中)

var u = new Uri("https://XX.visualstudio.com");
var connection = new VssConnection(u, new VssClientCredentials());
var workitemClient = connection.GetClient<WorkItemTrackingHttpClient>();

关于OAuth,最好在web应用中使用,有一个示例项目:ASP.NET web app (OAuth sample)

如果您还想在控制台应用中使用它,可以尝试使用 Socket 监听相应端口进行 OAuth 回调。

【讨论】:

  • 我还有一个控制台应用,不是网络应用,它需要 OAuth,不是个人访问令牌。如何使用 OAuth with Socket 监听对应的端口进行 OAuth 回调
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-09
  • 1970-01-01
  • 2021-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多