C#to Teamcity NTLM身份验证失败

时间:2017-10-18 02:12:10

标签: c# teamcity

我无法使用NTLM从C#中使用Teamcity进行身份验证。它适用于浏览器和Postman。

启用日志后,它似乎进行了NTLM握手,但随后解决了401错误:

The token supplied to the function is invalid
To login manually go to "/login.html" page       

示例代码如下。我不确定这里有什么问题。它适用于基本身份验证和修改后的URI,包括httpAuth。

        string uri = "http://teamcityserver/ntlmAuth/action.html?add2Queue=SomeBuild";

        CredentialCache cc = new CredentialCache();
        cc.Add(new Uri(uri), "NTLM", new NetworkCredential("user", "password")); // Have also tried default credentials

        var req = HttpWebRequest.Create(uri);
        req.Method = "POST";
        req.Credentials = cc;
        req.Headers.Add("Origin: http://teamcity");

1 个答案:

答案 0 :(得分:0)

知道了!缺少的因素是客户在NTLM来回期间没有发送cookie。

添加此修复程序:

req.CookieContainer = new CookieContainer();