另一种在不弹出 Internet Explorer 的情况下向 VSTS 进行身份验证的方法?

Posted

技术标签:

【中文标题】另一种在不弹出 Internet Explorer 的情况下向 VSTS 进行身份验证的方法?【英文标题】:Another way to authenticate to VSTS without Internet Explorer popout? 【发布时间】:2018-08-08 19:25:21 【问题描述】:

我在 Visual Studio 2012 中开发了一个同步代理,它从 Visual Studio 服务 (VSTS) 中提取数据。我正在使用库 Microsoft.TeamFoundation.ClientMicrosoft.TeamFoundation.WorkItemTracking.Client。我针对 VSTS 进行身份验证的 sn-p 代码是

 Uri collectionUri = new Uri(url);
 SimpleWebToken simpleWebToken = new SimpleWebToken(_password);
 NetworkCredential networkCredential = new NetworkCredential(_user, _password);             
 TfsTeamProjectCollection teamProjectCollection = new TfsTeamProjectCollection(collectionUri, networkCredential);
 teamProjectCollection.EnsureAuthenticated();

url 是 VSTS 的 url。 为什么我执行最后一行teamProjectCollection.EnsureAuthenticated(); 有什么原因会提示我一个 IE 窗口进行身份验证并忽略代码中的用户和密码?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

原因是使用指定的用户名和密码验证失败,所以再次提示弹窗进行验证。

您不能使用这种方式的邮件帐户进行身份验证,您可以创建一个备用身份验证凭据进行身份验证(https://account.visualstudio.com/_details/security/altcreds)。

【讨论】:

感谢您的回答! :) 图书馆有没有办法使用个人令牌? @lsalvatore 我正在使用这个包nuget.org/packages/… 和代码VssCredentials c = new VssCredentials(new Microsoft.VisualStudio.Services.Common.VssBasicCredential(string.Empty, "personal access token")); TfsTeamProjectCollection server = new TfsTeamProjectCollection(collectionUri, c);

以上是关于另一种在不弹出 Internet Explorer 的情况下向 VSTS 进行身份验证的方法?的主要内容,如果未能解决你的问题,请参考以下文章

win10 鼠标在桌面和文件夹右键点击不弹出菜单?

在 Internet Explorer 9 中使用 HTML5 实时流式传输 h.264

有没有办法在不弹出的情况下删除 react-native 中的默认权限?

Internet Explorer 中的 Iframe 内不显示模态弹出窗口

如何让视频 iframe 出现在 Internet Explorer 的模式弹出窗口下方?

Internet Explorer 9/JavaScript:禁用 ActiveX 的确认警报/弹出窗口 [关闭]