diff --git a/pom.xml b/pom.xml
index 2fea114..d6265ef 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- com.inteligr8
+ com.inteligr8.alfresco
activiti-java-enterprise-api
1.0-v1-SNAPSHOT
Alfresco Process Services ReST API Client for Java
@@ -19,6 +19,7 @@
5.2.14.RELEASE
2.3.10.RELEASE
2.34
+ 3.3.2
@@ -26,27 +27,34 @@
org.springframework
spring-context
${spring.version}
- provided
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.12.2
+
+
+ jakarta.ws.rs
+ jakarta.ws.rs-api
+ 2.1.6
org.glassfish.jersey.core
jersey-client
${jersey.version}
+ test
org.glassfish.jersey.inject
jersey-hk2
${jersey.version}
+ test
org.glassfish.jersey.media
jersey-media-json-jackson
${jersey.version}
-
-
- org.glassfish.jersey.security
- oauth2-client
- ${jersey.version}
+ test
org.junit.jupiter
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/AccessTokenRequestFilter.java b/src/main/java/com/inteligr8/alfresco/activiti/AccessTokenRequestFilter.java
new file mode 100644
index 0000000..0fc2f4d
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/AccessTokenRequestFilter.java
@@ -0,0 +1,20 @@
+package com.inteligr8.alfresco.activiti;
+
+import javax.ws.rs.client.ClientRequestContext;
+import javax.ws.rs.client.ClientRequestFilter;
+import javax.ws.rs.core.HttpHeaders;
+
+public class AccessTokenRequestFilter implements ClientRequestFilter {
+
+ private final String token;
+
+ public AccessTokenRequestFilter(String token) {
+ this.token = token;
+ }
+
+ @Override
+ public void filter(ClientRequestContext requestContext) {
+ requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION, "Bearer " + this.token);
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/ApsClient.java b/src/main/java/com/inteligr8/alfresco/activiti/ApsClient.java
index 813fc8b..d5ce59b 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/ApsClient.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/ApsClient.java
@@ -1,7 +1,6 @@
package com.inteligr8.alfresco.activiti;
import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.core.Feature;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -29,10 +28,7 @@ public class ApsClient {
javax.ws.rs.client.Client client = ClientBuilder
.newClient();
- Feature feature = this.config.getAuthorizationFeature();
- if (feature != null)
- client.register(feature);
-
+ this.config.authorize(client);
return new EnterpriseAPI(this.config.getBaseUrl() + "/api", client);
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/ApsClientConfiguration.java b/src/main/java/com/inteligr8/alfresco/activiti/ApsClientConfiguration.java
index 9c222a8..3ef1e4c 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/ApsClientConfiguration.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/ApsClientConfiguration.java
@@ -1,9 +1,7 @@
package com.inteligr8.alfresco.activiti;
-import javax.ws.rs.core.Feature;
+import javax.ws.rs.client.Client;
-import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
-import org.glassfish.jersey.client.oauth2.OAuth2ClientSupport;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@@ -28,14 +26,12 @@ public class ApsClientConfiguration {
return this.baseUrl;
}
- public Feature getAuthorizationFeature() {
+ public void authorize(Client client) {
if (this.basicAuthUsername != null) {
- return HttpAuthenticationFeature.basic(this.basicAuthUsername, this.basicAuthPassword);
+ client.register(new BasicAuthRequestFilter(this.basicAuthUsername, this.basicAuthPassword));
} else if (this.accessToken != null) {
- return OAuth2ClientSupport.feature(this.accessToken);
+ client.register(new AccessTokenRequestFilter(this.accessToken));
}
-
- return null;
}
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/BasicAuthRequestFilter.java b/src/main/java/com/inteligr8/alfresco/activiti/BasicAuthRequestFilter.java
new file mode 100644
index 0000000..0743fef
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/BasicAuthRequestFilter.java
@@ -0,0 +1,28 @@
+package com.inteligr8.alfresco.activiti;
+
+import java.io.UnsupportedEncodingException;
+import java.util.Base64;
+
+import javax.ws.rs.client.ClientRequestContext;
+import javax.ws.rs.client.ClientRequestFilter;
+import javax.ws.rs.core.HttpHeaders;
+
+public class BasicAuthRequestFilter implements ClientRequestFilter {
+
+ private final String username;
+ private final String password;
+
+ public BasicAuthRequestFilter(String username, String password) {
+ this.username = username;
+ this.password = password;
+ }
+
+ @Override
+ public void filter(ClientRequestContext requestContext) throws UnsupportedEncodingException {
+ String userAndPass = this.username + ":" + this.password;
+ String userAndPassEncoded = Base64.getEncoder().encodeToString(userAndPass.getBytes("utf-8"));
+
+ requestContext.getHeaders().add(HttpHeaders.AUTHORIZATION, "Basic " + userAndPassEncoded);
+ }
+
+}