Skip to content

Commit a608813

Browse files
vinzroot
andauthored
Version 6.0.0-RC2-v2.1-24.2.00.00 release (#285)
Co-authored-by: root <[email protected]>
1 parent a75b3e1 commit a608813

File tree

7 files changed

+384
-142
lines changed

7 files changed

+384
-142
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
# DocuSign Java Client Changelog
22
See [DocuSign Support Center](https://support.docusign.com/en/releasenotes/) for Product Release Notes.
33

4+
## [v6.0.0-RC2] - eSignature API v2.1-24.2.00.00 - 2024-07-12
5+
### Changed
6+
- Deprecation of OLTU library: The OLTU library for handling OAuth is no longer used.
7+
- Upgradation of OWASP for vulnerability check of dependencies.
8+
- Updated the SDK release version.
49
## [v6.0.0-RC1] - eSignature API v2.1-24.2.00.00 - 2024-06-28
510
### Changed
611
- Added support for version v2.1-24.2.00.00 of the DocuSign ESignature API.

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ This client SDK is provided as open source, which enables you to customize its f
5757
<dependency>
5858
<groupId>com.docusign</groupId>
5959
<artifactId>docusign-esign-java</artifactId>
60-
<version>6.0.0-RC1</version>
60+
<version>6.0.0-RC2</version>
6161
</dependency>
6262
```
6363
8. If your project is still open, restart Eclipse.
@@ -71,7 +71,6 @@ This client has the following external dependencies:
7171
* org.glassfish.jersey.media:jersey-media-json-jackson:3.1.6
7272
* org.glassfish.jersey.inject:jersey-hk2:3.1.6
7373
* com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-base:2.14.2
74-
* org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:1.0.2
7574
* com.auth0:java-jwt:3.4.1
7675
* org.bouncycastle:bcprov-jdk18on:1.78.1
7776
* com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.14.2

pom.xml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<artifactId>docusign-esign-java</artifactId>
66
<packaging>jar</packaging>
77
<name>docusign-esign-java</name>
8-
<version>6.0.0-RC1</version>
8+
<version>6.0.0-RC2</version>
99
<url>https://developers.docusign.com</url>
1010
<description>The official DocuSign eSignature JAVA client is based on version 2.1 of the DocuSign REST API and provides libraries for JAVA application integration. It is recommended that you use this version of the library for new development.</description>
1111

@@ -230,7 +230,7 @@
230230
<plugin>
231231
<groupId>org.owasp</groupId>
232232
<artifactId>dependency-check-maven</artifactId>
233-
<version>9.2.0</version>
233+
<version>10.0.2</version>
234234
<configuration>
235235
<failBuildOnCVSS>8</failBuildOnCVSS>
236236
</configuration>
@@ -356,11 +356,6 @@
356356
<artifactId>jackson-jakarta-rs-base</artifactId>
357357
<version>${jackson-version}</version>
358358
</dependency>
359-
<dependency>
360-
<groupId>org.apache.oltu.oauth2</groupId>
361-
<artifactId>org.apache.oltu.oauth2.client</artifactId>
362-
<version>${oltu-version}</version>
363-
</dependency>
364359
<!-- JWT signing and verifying -->
365360
<dependency>
366361
<groupId>com.auth0</groupId>
@@ -429,6 +424,5 @@
429424
<jersey-version>3.1.6</jersey-version>
430425
<jackson-version>2.14.2</jackson-version>
431426
<junit-version>4.13.1</junit-version>
432-
<oltu-version>1.0.2</oltu-version>
433427
</properties>
434428
</project>

src/main/java/com/docusign/esign/client/ApiClient.java

Lines changed: 24 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@
99
import com.fasterxml.jackson.databind.ObjectMapper;
1010
import com.fasterxml.jackson.dataformat.csv.CsvMapper;
1111
import com.fasterxml.jackson.dataformat.csv.CsvSchema;
12-
import com.migcomponents.migbase64.Base64;
13-
import org.apache.oltu.oauth2.client.request.OAuthClientRequest.AuthenticationRequestBuilder;
14-
import org.apache.oltu.oauth2.client.request.OAuthClientRequest.TokenRequestBuilder;
15-
import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
1612
import org.glassfish.jersey.client.ClientConfig;
1713
import org.glassfish.jersey.client.ClientProperties;
1814
import org.glassfish.jersey.client.HttpUrlConnectorProvider;
@@ -34,6 +30,7 @@
3430
import java.lang.reflect.InvocationTargetException;
3531
import java.lang.reflect.Method;
3632
import java.net.*;
33+
import java.nio.charset.StandardCharsets;
3734

3835
import java.nio.file.Files;
3936
import java.nio.file.StandardCopyOption;
@@ -84,6 +81,8 @@ public class ApiClient {
8481
protected DateFormat dateFormat;
8582
private SSLContext sslContext = null;
8683

84+
private final String HTTPS = "https://";
85+
8786
/**
8887
* ApiClient constructor.
8988
*
@@ -96,11 +95,11 @@ public ApiClient() {
9695
String javaVersion = System.getProperty("java.version");
9796

9897
// Set default User-Agent.
99-
setUserAgent("Swagger-Codegen/v2.1/6.0.0-RC1/Java/" + javaVersion);
98+
setUserAgent("Swagger-Codegen/v2.1/6.0.0-RC2/Java/" + javaVersion);
10099

101100
// Setup authentications (key: authentication name, value: authentication).
102101
authentications = new HashMap<String, Authentication>();
103-
authentications.put("docusignAccessCode", new OAuth());
102+
authentications.put("docusignAccessCode", new OAuth(httpClient));
104103

105104
// Derive the OAuth base path from the Rest API base url
106105
this.deriveOAuthBasePathFromRestBasePath();
@@ -138,7 +137,7 @@ public ApiClient(String oAuthBasePath, String[] authNames) {
138137
for(String authName : authNames) {
139138
Authentication auth;
140139
if ("docusignAccessCode".equals(authName)) {
141-
auth = new OAuth(httpClient, OAuthFlow.accessCode, oAuthBasePath + "/oauth/auth", oAuthBasePath + "/oauth/token", "all");
140+
auth = new OAuth(httpClient, OAuthFlow.accessCode, HTTPS + oAuthBasePath + "/oauth/auth", HTTPS + oAuthBasePath + "/oauth/token", "all");
142141
} else if ("docusignApiKey".equals(authName)) {
143142
auth = new ApiKeyAuth("header", "docusignApiKey");
144143
} else {
@@ -166,9 +165,11 @@ public ApiClient(String oAuthBasePath, String authName) {
166165
*/
167166
public ApiClient(String oAuthBasePath, String authName, String clientId, String secret) {
168167
this(oAuthBasePath, authName);
169-
this.getTokenEndPoint()
170-
.setClientId(clientId)
171-
.setClientSecret(secret);
168+
Authentication auth = authentications.get(authName);
169+
if (auth instanceof OAuth) {
170+
((OAuth) auth).setClientId(clientId);
171+
((OAuth) auth).setClientSecret(secret);
172+
}
172173
}
173174

174175
/**
@@ -378,7 +379,7 @@ public void setAccessToken(final String accessToken, final Long expiresIn) {
378379
return;
379380
}
380381
}
381-
OAuth oAuth = new OAuth(null, null, null);
382+
OAuth oAuth = new OAuth();
382383
oAuth.setAccessToken(accessToken, expiresIn);
383384
addAuthorization("docusignAccessCode", oAuth);
384385
}
@@ -523,35 +524,6 @@ public ApiClient setDateFormat(DateFormat dateFormat) {
523524
return this;
524525
}
525526

526-
/**
527-
* Helper method to configure the token endpoint of the first oauth found in the authentications (there should be only one).
528-
* @return
529-
*/
530-
public TokenRequestBuilder getTokenEndPoint() {
531-
for(Authentication auth : getAuthentications().values()) {
532-
if (auth instanceof OAuth) {
533-
OAuth oauth = (OAuth) auth;
534-
return oauth.getTokenRequestBuilder();
535-
}
536-
}
537-
return null;
538-
}
539-
540-
541-
/**
542-
* Helper method to configure authorization endpoint of the first oauth found in the authentications (there should be only one).
543-
* @return
544-
*/
545-
public AuthenticationRequestBuilder getAuthorizationEndPoint() {
546-
for(Authentication auth : authentications.values()) {
547-
if (auth instanceof OAuth) {
548-
OAuth oauth = (OAuth) auth;
549-
return oauth.getAuthenticationRequestBuilder();
550-
}
551-
}
552-
return null;
553-
}
554-
555527
/**
556528
* Helper method to configure the OAuth accessCode/implicit flow parameters.
557529
* @param clientId OAuth2 client ID
@@ -562,20 +534,22 @@ public void configureAuthorizationFlow(String clientId, String clientSecret, Str
562534
for(Authentication auth : authentications.values()) {
563535
if (auth instanceof OAuth) {
564536
OAuth oauth = (OAuth) auth;
565-
oauth.getTokenRequestBuilder()
566-
.setClientId(clientId)
567-
.setClientSecret(clientSecret)
568-
.setRedirectURI(redirectURI);
569-
oauth.getAuthenticationRequestBuilder()
570-
.setClientId(clientId)
571-
.setRedirectURI(redirectURI);
537+
((OAuth) auth).setClientId(clientId);
538+
((OAuth) auth).setClientSecret(clientSecret);
539+
((OAuth) auth).setRedirectURI(redirectURI);
572540
return;
573541
}
574542
}
575543
}
576544

577-
public String getAuthorizationUri() throws OAuthSystemException {
578-
return getAuthorizationEndPoint().buildQueryMessage().getLocationUri();
545+
public String getAuthorizationUri() {
546+
for(Authentication auth : authentications.values()) {
547+
if (auth instanceof OAuth) {
548+
OAuth oauth = (OAuth) auth;
549+
return oauth.getAuthorizationUrl();
550+
}
551+
}
552+
return null;
579553
}
580554

581555
/**
@@ -677,7 +651,7 @@ public OAuth.OAuthToken generateAccessToken(String clientId, String clientSecret
677651

678652
Invocation.Builder invocationBuilder = target.request();
679653
invocationBuilder = invocationBuilder
680-
.header("Authorization", "Basic " + Base64.encodeToString(clientStr.getBytes("UTF-8"), false))
654+
.header("Authorization", "Basic " + Base64.getEncoder().encodeToString(clientStr.getBytes(StandardCharsets.UTF_8)))
681655
.header("Cache-Control", "no-store")
682656
.header("Pragma", "no-cache");
683657

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.docusign.esign.client.auth;
22

3-
import org.apache.oltu.oauth2.common.token.BasicOAuthToken;
3+
import com.docusign.esign.client.auth.OAuth.OAuthToken;
44

55
public interface AccessTokenListener {
6-
void notify(BasicOAuthToken token);
7-
}
6+
void notify(OAuthToken token);
7+
}

0 commit comments

Comments
 (0)