|
3 | 3 | import java.io.PrintStream; |
4 | 4 | import java.net.URISyntaxException; |
5 | 5 |
|
| 6 | +import org.apache.hc.client5.http.auth.AuthSchemeFactory; |
| 7 | +import org.apache.hc.client5.http.auth.StandardAuthScheme; |
6 | 8 | import org.apache.hc.client5.http.classic.methods.HttpUriRequestBase; |
7 | 9 | import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider; |
8 | 10 | import org.apache.hc.client5.http.auth.AuthScope; |
9 | 11 | import org.apache.hc.client5.http.auth.NTCredentials; |
| 12 | +import org.apache.hc.client5.http.impl.auth.NTLMSchemeFactory; |
10 | 13 | import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; |
11 | 14 | import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; |
12 | 15 | 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; |
13 | 18 |
|
14 | 19 | import com.cloudbees.plugins.credentials.common.StandardUsernamePasswordCredentials; |
15 | 20 |
|
@@ -59,7 +64,15 @@ static CloseableHttpClient auth(HttpClientBuilder clientBuilder, HttpClientConte |
59 | 64 | new AuthScope(requestBase.getUri().getHost(), requestBase.getUri().getPort()), |
60 | 65 | new NTCredentials(username, password.toCharArray(), requestBase.getUri().getHost(), domain)); |
61 | 66 |
|
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 | + |
63 | 76 | context.setCredentialsProvider(provider); |
64 | 77 |
|
65 | 78 | return clientBuilder.build(); |
|
0 commit comments