【问题标题】:Access TFS and visualstudio online REST Api in Electron/angularjs app在 Electron/angularjs 应用程序中访问 TFS 和 visualstudio 在线 REST Api
【发布时间】:2018-03-21 21:10:48
【问题描述】:

使用 angularjs 在 Electron 中与 TFS 和 Visual Studio 在线集成的最佳方式是什么?用户可以提供服务器的用户名、密码和 URL,我想获取项目、任务、在状态之间移动任务、创建新项目等

我有一个使用 angularjs 和电子的项目。我也想从 Microsoft Team Foundation Server(本地安装)和 Visual Studio 在线获取我的项目、任务等。我找到了有关基本身份验证和 oAuth 的文档来执行此操作,但我猜 oAuth 仅适用于在线视觉工作室,而基本身份验证适用于两者,但不要让我获取个人资料数据(用户名等)。

我看到微软有 ac# lib 具有完全访问权限,但是要在电子中使用它,我需要用 c# 或类似的东西编写一个 Web 服务,如果我将我的应用程序编写为独立的会更好,直接使用 tfs API。

【问题讨论】:

    标签: angularjs tfs azure-devops electron


    【解决方案1】:

    VSTS 也为 Javascript 提供客户端。

    您可以在Github Repo 上找到它们

    【讨论】:

    • 是的。只需提供正确的 URL 即可连接。
    【解决方案2】:

    更新

    您可以使用一些不同的处理程序,包括 NodeJS API 中的 Basic/NTML 来进行身份验证,例如:

    export function getBasicHandler(username: string, password: string): VsoBaseInterfaces.IRequestHandler {
        return new basicm.BasicCredentialHandler(username, password);
    }
    
    export function getNtlmHandler(username: string, password: string, workstation?: string, domain?: string): VsoBaseInterfaces.IRequestHandler {
        return new ntlmm.NtlmCredentialHandler(username, password, workstation, domain);
    }
    

    更多细节请参考这个链接:vsts-node-api-webapi你只需要创建一个登录页面来收集用户名/密码,然后将参数传递给处理程序。


    能够访问 Team Foundation Server (TFS)/Visual Studio Team Services (VSTS) 中的数据,主要使用两种方法。已知的方法是使用 NuGet 包Microsoft.TeamFoundationServer.Client 来执行此类任务。随着 TFS 2015 及更高版本/VSTS 的到来,微软推出了可用于访问相同数据的 REST API

    与 TFS2017 一样,本地 TFS 还支持为所有用户创建个人访问令牌。使用 @Elmar 的 javascript 代码,您可以发出连接请求,从 REST API 编辑 TFS 工作项。详情请参考这个问题:TFS 2015 REST API Authentication

    但在 TFS2015 上,没有(个人访问令牌)。如果您正在使用此版本,您可以创建一个登录页面,并将用户名和密码存储在 cookie 中。然后使用httpntlm 来做这个请求。和你有类似问题的可以参考这个案例:connecting to TFS using windows auth in electron app

    【讨论】:

    • 我可以使用nodejs客户端使用用户名和密码进行连接吗?我想要一个登录页面,用户可以在其中输入 URL、用户名和密码。它是否适用于本地 TFS 和 VSTS?
    • @JeanRobert 发现了一些新东西,我认为这对 TFS 和 VSTS 都有效。您还可以使用一些不同的处理程序,包括 NodeJS API 中的 Basic/NTML 来验证 tfs/VSTS。然后,您需要创建一个登录页面来收集用户名/密码并将参数传递给处理程序。不熟悉 Electron 应用程序,但我认为这不是一件难事。详情请看我的更新答案。
    • 我想这是最好的方法。我看到我可以使用许多不同的处理程序。非常感谢!!!
    • 我无法找到如何使用个人访问令牌获取我的项目,因为我无法找到如何获取我的用户 ID;x 是 oAuth 的唯一选择吗?
    • 我已经创建了我的个人访问令牌并连接到 vsts,但是在我的项目中,我需要能够为我分配任务(用户登录)。我可以让用户使用个人访问令牌登录吗?在文档中据说只能使用 oAuth 身份验证来请求配置文件端点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    • 2016-09-11
    相关资源
    最近更新 更多