Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NTLM authentication HttpClient in Core

I am trying to use the HttpClient to access a REST service which requires NTLM authentication. However I keep getting a 401 Unauthorized. My code looks like this

    private static void Main()
    {
        var uri = new Uri("http://localhost:15001");
        var credentialsCache = new CredentialCache { { uri, "NTLM", CredentialCache.DefaultNetworkCredentials } };
        var handler = new HttpClientHandler { Credentials = credentialsCache };
        var httpClient = new HttpClient(handler) { BaseAddress = uri, Timeout = new TimeSpan(0, 0, 10) };
        httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        var response = httpClient.GetAsync("api/MyMethod").Result;
    }

My target framework is netcoreapp2.0. If I change to net461, it will work. Not sure what I am doing wrong?

like image 245
Torben Nielsen Avatar asked Dec 14 '17 22:12

Torben Nielsen


1 Answers

Microsoft has accepted this as a bug. Possibly a fix will be released with core 2.1

https://github.com/dotnet/corefx/issues/25988

like image 147
Torben Nielsen Avatar answered Oct 19 '22 23:10

Torben Nielsen