使用Windows凭据的tfs authourization

我正在尝试连接我的TFS帐户

https://xxx.visualstudio.com/DefaultCollection

如果我尝试浏览器,我可以访问这个。 我的Windows凭据和TFS凭证是相同的。 我正在尝试使用我的Windows凭据以编程方式login到TFS。

我正在使用的库是: – Microsoft.TeamFoundation.Client(版本14.0.0,框架版本4.6.0)

我不确定是否还有其他事情需要做,或者这么多是足够的? 在web.config或app.config或其他地方要做什么? 最令人讨厌的是,在同一个解决scheme的旧项目中,我看起来都一样,而且工作正常。

获得例外: –

TF30063:您无权访问https://xxx.visualstudio.com/DefaultCollection 。

码:-

public TfsTeamProjectCollection ConnectionVSO { get; set; } public TFSRepository() { var uri = new Uri("https://xxx.visualstudio.com/DefaultCollection"); try { var credentials = new AadCredential(); var clientCredentials = new TfsClientCredentials(credentials) { AllowInteractive = false }; TfsTeamProjectCollection teamProjectCollection = new TfsTeamProjectCollection(uri, clientCredentials); if (teamProjectCollection != null) { teamProjectCollection.EnsureAuthenticated(); } ConnectionVSO = teamProjectCollection; } catch (Exception ex) { } } 

我相信我失去了一些东西。 但不知道是什么? 🙁

您正在尝试连接到VSTS,如果存储它,则您的凭据应该存储在Web Credential中,而不是Windows Credential中。

您可以创建一个VssConnection实例来获取REST服务的HttpClients,或者创建一个TfsTeamProjectCollection实例来使用SOAP对象模型来验证VSTS。 您可以使用以下方法来实现它:

  • 针对REST服务的Azure Active Directory身份验证
  • REST服务的个人访问令牌认证
  • 用于REST服务的Visual Studio登录提示(支持Microsoft帐户或Azure Active Directory)
  • 用于REST服务的OAuth身份验证
  • 用于SOAP服务的Azure Active Directory认证
  • SOAP服务的基本认证
  • SOAP服务的Visual Studio登录提示(支持Microsoft帐户或Azure Active Directory)

详情: https : //www.visualstudio.com/en-us/docs/integrate/get-started/client-libraries/samples#authenticating-visual-studio-team-services

这根本不是代码问题。 一切都很好。 这是我的代码存储库的问题。 我改变了硬盘上我的代码映射路径,并得到了最新的代码,它的工作。 奇怪,但真实:( !!现在很好。