如何认证到https://tfspreview.com (MIcrosoft托管的TFS)是否使用Java命令行应用程序?
我正在尝试从命令行Java应用程序访问SOAP接口。与内部部署的TFS服务不同,此服务使用Live ID身份验证,这会导致通信失败,302重定向到其身份验证服务。我不知道如何在那里进行身份验证如何认证到https://tfspreview.com (MIcrosoft托管的TFS)是否使用Java命令行应用程序?,java,soap,tfs,oauth-2.0,azure-devops,Java,Soap,Tfs,Oauth 2.0,Azure Devops,我正在尝试从命令行Java应用程序访问SOAP接口。与内部部署的TFS服务不同,此服务使用Live ID身份验证,这会导致通信失败,302重定向到其身份验证服务。我不知道如何在那里进行身份验证 有指针吗? 您可以使用提供无头体验。此外,如果您不使用,它可能会帮助您 一般来说,有三种类型的凭据可用于身份验证,它们决定了用于身份验证的机制: Live ID。如您所述,这要求您使用web浏览器登录到Windows Live,并使用生成的OAuth令牌进行身份验证 映射到Live ID的附加密码,用于
有指针吗?
如果您不想自己创建包装令牌,还可以使用来构建连接。创建
tfstreamprojectcollection
时,只需将您的服务凭据作为UsernamePasswordCredentials
提交即可。即使您不想对服务器使用API方法,也可以从该连接获取原始的HTTPClient
,它将设置所有必要的配置。如果SDK的API不应该发生显著的变化,如果我们在Team Foundation服务中添加新的身份验证机制,那么对SDK的依赖也会对您有益。这很有帮助。如果我能够获得HTTPClient并且以后在SOAP调用中重用它,那么我很有可能选择SDK路径。但我担心的是SDK的大小——它有18MB大,比应用程序本身大得多。可再发行部分是否明显更小?另外(愚蠢的Enter键截断了我之前的消息)-在与TFS SOAP通信时,我如何“显示包装令牌”?我不知道该怎么做。URL参数?Cookie?我承认TFS SDK有点大。sdkjar本身是12mb的:其中一小部分是因为TFS有一个大型平台(源代码控制、工作项跟踪、构建等),但大部分是依赖项。考虑到我们支持的Java运行时的广泛范围,我们必须包含许多依赖项。但是,我们支持的每个平台都有本机库,您可以安全地删除不需要支持的任何平台的库。这将节省一些MB。但总的来说,是的,它很大。我将试着看一看如何减少一些。坦率地说,我只需要版本控制部分。更具体地说,我只需要一个部分,我可以通过正确设置的身份验证检索HTTPClient:)您知道WRAP cookie的名称吗?