Skip to content

Commit 46973ec

Browse files
committed
changes to support NTCredentials
1 parent a43f9f2 commit 46973ec

File tree

7 files changed

+40
-27
lines changed

7 files changed

+40
-27
lines changed

ipp-v3-java-devkit/src/main/java/com/intuit/ipp/interceptors/HTTPBatchClientConnectionInterceptor.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.apache.http.HttpHost;
4040
import org.apache.http.HttpResponse;
4141
import org.apache.http.auth.AuthScope;
42+
import org.apache.http.auth.NTCredentials;
4243
import org.apache.http.auth.UsernamePasswordCredentials;
4344
import org.apache.http.client.ClientProtocolException;
4445
import org.apache.http.client.CredentialsProvider;
@@ -207,7 +208,12 @@ public CredentialsProvider setProxyAuthentication() {
207208
String port = Config.getProperty(Config.PROXY_PORT);
208209
if (StringUtils.hasText(host) && StringUtils.hasText(port)) {
209210
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
210-
credentialsProvider.setCredentials(new AuthScope(host, Integer.parseInt(port)), new UsernamePasswordCredentials(username, password));
211+
String domain = Config.getProperty(Config.PROXY_DOMAIN);
212+
if (StringUtils.hasText(domain)) {
213+
credentialsProvider.setCredentials(new AuthScope(host, Integer.parseInt(port)), new NTCredentials(username, password, host, domain));
214+
} else {
215+
credentialsProvider.setCredentials(new AuthScope(host, Integer.parseInt(port)), new UsernamePasswordCredentials(username, password));
216+
}
211217
return credentialsProvider;
212218
}
213219
}

ipp-v3-java-devkit/src/main/java/com/intuit/ipp/interceptors/HTTPClientConnectionInterceptor.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import org.apache.http.HttpHost;
3636
import org.apache.http.HttpResponse;
3737
import org.apache.http.auth.AuthScope;
38+
import org.apache.http.auth.NTCredentials;
3839
import org.apache.http.auth.UsernamePasswordCredentials;
3940
import org.apache.http.client.ClientProtocolException;
4041
import org.apache.http.client.CredentialsProvider;
@@ -321,7 +322,12 @@ public CredentialsProvider setProxyAuthentication() {
321322
String port = Config.getProperty(Config.PROXY_PORT);
322323
if (StringUtils.hasText(host) && StringUtils.hasText(port)) {
323324
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
324-
credentialsProvider.setCredentials(new AuthScope(host, Integer.parseInt(port)), new UsernamePasswordCredentials(username, password));
325+
String domain = Config.getProperty(Config.PROXY_DOMAIN);
326+
if (StringUtils.hasText(domain)) {
327+
credentialsProvider.setCredentials(new AuthScope(host, Integer.parseInt(port)), new NTCredentials(username, password, host, domain));
328+
} else {
329+
credentialsProvider.setCredentials(new AuthScope(host, Integer.parseInt(port)), new UsernamePasswordCredentials(username, password));
330+
}
325331
return credentialsProvider;
326332
}
327333
}

ipp-v3-java-devkit/src/main/java/com/intuit/ipp/util/Config.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ public final class Config {
7676
*/
7777
public static final String PROXY_PASSWORD = "proxy.password";
7878

79+
public static final String PROXY_DOMAIN = "proxy.domain";
80+
7981
/**
8082
* variable PROXY_KEYSTORE_PATH
8183
*/

oauth2-platform-api/src/main/java/com/intuit/oauth2/http/HttpRequestClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ public CredentialsProvider setProxyAuthentication(ProxyConfig proxyConfig) {
129129
String port = proxyConfig.getPort();
130130
if (!host.isEmpty() && !port.isEmpty()) {
131131
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
132-
String domain=proxyConfig.getDomain();
132+
String domain = proxyConfig.getDomain();
133133
if (!domain.isEmpty()) {
134134
credentialsProvider.setCredentials(new AuthScope(host, Integer.parseInt(port)), new NTCredentials(username, password, host, domain));
135135
} else {

oauth2-platform-api/src/main/resources/oauthclient.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ EMAIL=email
3434
INTUIT_NAME=intuit_name
3535

3636
#Version
37-
version=5.0.2
37+
version=5.0.3
3838

3939
#MIGRATION SERVICE URL
4040
OAUTH_MIGRATION_URL_PRODUCTION=https://developer.api.intuit.com/v2/oauth2/tokens/migrate

payments-api/src/main/java/com/intuit/payment/config/ProxyConfig.java

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -27,55 +27,43 @@ public class ProxyConfig {
2727
private String port;
2828
private String username;
2929
private String password;
30+
private String domain;
3031

3132
private ProxyConfig(ProxyConfigBuilder builder) {
3233
this.host = builder.host;
3334
this.port = builder.port;
3435
this.username = builder.username;
3536
this.password = builder.password;
36-
37+
this.domain = builder.domain;
3738
}
3839

39-
/**
40-
* @return
41-
*/
4240
public String getHost() {
4341
return host;
4442
}
4543

46-
/**
47-
* @return
48-
*/
4944
public String getPort() {
5045
return port;
5146
}
5247

53-
/**
54-
* @return
55-
*/
5648
public String getUsername() {
5749
return username;
5850
}
5951

60-
/**
61-
* @return
62-
*/
6352
public String getPassword() {
6453
return password;
6554
}
6655

67-
/**
68-
* Builder class for ProxyConfig
69-
*
70-
* @author dderose
71-
*
72-
*/
56+
public String getDomain() {
57+
return domain;
58+
}
59+
7360
public static class ProxyConfigBuilder {
7461

7562
private String host;
7663
private String port;
7764
private String username;
7865
private String password;
66+
private String domain;
7967

8068
public ProxyConfigBuilder(String host, String port) {
8169
this.host = host;
@@ -92,10 +80,16 @@ public ProxyConfigBuilder password(String password) {
9280
return this;
9381
}
9482

83+
public ProxyConfigBuilder domain(String domain) {
84+
this.domain = domain;
85+
return this;
86+
}
87+
9588
public ProxyConfig buildConfig() {
9689
return new ProxyConfig(this);
9790
}
9891

9992
}
10093

94+
10195
}

payments-api/src/main/java/com/intuit/payment/http/HttpRequestClient.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.apache.http.HttpResponse;
3232
import org.apache.http.HttpVersion;
3333
import org.apache.http.auth.AuthScope;
34+
import org.apache.http.auth.NTCredentials;
3435
import org.apache.http.auth.UsernamePasswordCredentials;
3536
import org.apache.http.client.CredentialsProvider;
3637
import org.apache.http.client.config.RequestConfig;
@@ -39,6 +40,7 @@
3940
import org.apache.http.config.Registry;
4041
import org.apache.http.config.RegistryBuilder;
4142
import org.apache.http.conn.socket.ConnectionSocketFactory;
43+
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
4244
import org.apache.http.conn.ssl.NoopHostnameVerifier;
4345
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
4446
import org.apache.http.conn.ssl.SSLContexts;
@@ -89,8 +91,7 @@ public HttpRequestClient(ProxyConfig proxyConfig) {
8991
"V3JavaSDK-payments-" + PropertiesConfig.getInstance().getProperty("version")));
9092

9193
// build the client
92-
Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory> create()
93-
.register("https", prepareClientSSL()).build();
94+
Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create().register("https", prepareClientSSL()).register("http", new PlainConnectionSocketFactory()).build();
9495
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
9596
HttpClientBuilder hcBuilder = HttpClients.custom().setConnectionManager(cm).setDefaultRequestConfig(config)
9697
.setDefaultHeaders(headers).setMaxConnPerRoute(10)
@@ -173,8 +174,12 @@ public CredentialsProvider setProxyAuthentication(ProxyConfig proxyConfig) {
173174
String port = proxyConfig.getPort();
174175
if (!host.isEmpty() && !port.isEmpty()) {
175176
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
176-
credentialsProvider.setCredentials(new AuthScope(host, Integer.parseInt(port)),
177-
new UsernamePasswordCredentials(username, password));
177+
String domain = proxyConfig.getDomain();
178+
if (!domain.isEmpty()) {
179+
credentialsProvider.setCredentials(new AuthScope(host, Integer.parseInt(port)), new NTCredentials(username, password, host, domain));
180+
} else {
181+
credentialsProvider.setCredentials(new AuthScope(host, Integer.parseInt(port)), new UsernamePasswordCredentials(username, password));
182+
}
178183
return credentialsProvider;
179184
}
180185
}

0 commit comments

Comments
 (0)