使用REST API登录TeamCity服务器,而不在URL中传递凭据

Jas*_*ans 5 security rest teamcity

作为对上一个问题的跟进,我问:如何在TeamCity REST API中传递用户名和密码,我想检查一下.

有人能告诉我是否可以以更安全的方式访问TeamCity REST API,而不是在URL中传递用户名和密码?

我觉得在网址中传递凭据是唯一的方法,因为嗅探器很容易在网址上获取并使用凭证本身.

小智 8

我们遇到了同样的问题,我花了一些时间来看看我们如何解决这个问题,并找到了一种方法:

您可以在初始屏幕(/ntlmLogin.html)中进行操作 - 您将能够使用NTLM识别用户.
然后保存TeamCity为您提供的cookie.
现在您使用cookie来访问API.

有关如何执行此操作的一个非常简单的示例,请参阅https://github.com/eduaquiles/TeamCityNtlmApiWrapper.


Jas*_*ans 2

我对此进行了更多的挖掘,但看起来不太有希望。

我在 TeamCity 社区论坛上找到了以下主题:

集成 Rest API 身份验证

http://devnet.jetbrains.net/message/5461520#5461520

另一位用户向我提出了类似的问题,得到的答复是基本 HTTP 身份验证是目前唯一的选择。尽管您可以使用 NTLM 身份验证,但它是针对前端 Web UI 而不是 REST API 定制的。

我在论坛上询问是否可以通过 REST API 使用 NTLM。我还没有收到回复,但我可以想象这是不可能的,在这种情况下这是预料之中的。