Skip to content

Commit bb7f5e1

Browse files
Register NTLM authentication support explicitly
1 parent d5f8832 commit bb7f5e1

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

src/main/java/jenkins/plugins/http_request/auth/CredentialNtlmAuthentication.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,18 @@
33
import java.io.PrintStream;
44
import java.net.URISyntaxException;
55

6+
import org.apache.hc.client5.http.auth.AuthSchemeFactory;
7+
import org.apache.hc.client5.http.auth.StandardAuthScheme;
68
import org.apache.hc.client5.http.classic.methods.HttpUriRequestBase;
79
import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider;
810
import org.apache.hc.client5.http.auth.AuthScope;
911
import org.apache.hc.client5.http.auth.NTCredentials;
12+
import org.apache.hc.client5.http.impl.auth.NTLMSchemeFactory;
1013
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
1114
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
1215
import org.apache.hc.client5.http.protocol.HttpClientContext;
16+
import org.apache.hc.core5.http.config.Lookup;
17+
import org.apache.hc.core5.http.config.RegistryBuilder;
1318

1419
import com.cloudbees.plugins.credentials.common.StandardUsernamePasswordCredentials;
1520

@@ -59,7 +64,15 @@ static CloseableHttpClient auth(HttpClientBuilder clientBuilder, HttpClientConte
5964
new AuthScope(requestBase.getUri().getHost(), requestBase.getUri().getPort()),
6065
new NTCredentials(username, password.toCharArray(), requestBase.getUri().getHost(), domain));
6166

62-
clientBuilder.setDefaultCredentialsProvider(provider);
67+
// register NTLM authentication support explicitly
68+
Lookup<AuthSchemeFactory> authRegistry = RegistryBuilder.<AuthSchemeFactory>create()
69+
.register(StandardAuthScheme.NTLM, NTLMSchemeFactory.INSTANCE)
70+
.build();
71+
72+
clientBuilder
73+
.setDefaultCredentialsProvider(provider)
74+
.setDefaultAuthSchemeRegistry(authRegistry);
75+
6376
context.setCredentialsProvider(provider);
6477

6578
return clientBuilder.build();

0 commit comments

Comments
 (0)