diff --git a/.classpath b/.classpath
index 953de0b..441d9c3 100644
--- a/.classpath
+++ b/.classpath
@@ -15,11 +15,7 @@
-
-
-
-
-
+
@@ -27,7 +23,7 @@
-
+
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 6249222..db24ee7 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -1,12 +1,15 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/distro/changelog.xml b/distro/changelog.xml
index e338032..3541fb7 100644
--- a/distro/changelog.xml
+++ b/distro/changelog.xml
@@ -1,9 +1,13 @@
-
+
+ MethodInterceptor added
+ AuthorizationInterceptor added
+
+
MethodInterceptor added
AuthorizationInterceptor added
-
+
First Release
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index bda8365..4e908e6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,5 @@
-
4.0.0
@@ -10,16 +11,16 @@
org.gcube.core
common-gcube-calls
- 1.0.2
+ 2.0.0-SNAPSHOT
distro
- scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git
- scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git
- https://code-repo.d4science.org/gCubeSystem/${project.artifactId}
+ scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git
+ scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git
+ https://code-repo.d4science.org/gCubeSystem/${project.artifactId}
@@ -28,6 +29,15 @@
common-authorization
[2.0.0-SNAPSHOT,3.0.0-SNAPSHOT)
+
+
+
+ com.googlecode.json-simple
+ json-simple
+ 1.1.1
+
+
+
org.gcube.core
common-scope
diff --git a/src/main/java/org/gcube/common/calls/interceptors/AuthorizationInterceptor.java b/src/main/java/org/gcube/common/calls/interceptors/AuthorizationInterceptor.java
index 06d4643..0ebc6b3 100644
--- a/src/main/java/org/gcube/common/calls/interceptors/AuthorizationInterceptor.java
+++ b/src/main/java/org/gcube/common/calls/interceptors/AuthorizationInterceptor.java
@@ -1,10 +1,13 @@
package org.gcube.common.calls.interceptors;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
+import org.gcube.common.authorization.library.provider.UmaJWTProvider;
import org.gcube.common.calls.Call;
import org.gcube.common.calls.Interceptor;
import org.gcube.common.calls.Request;
import org.gcube.common.calls.Response;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,10 +16,24 @@ public class AuthorizationInterceptor implements Interceptor {
private Logger logger = LoggerFactory.getLogger(AuthorizationInterceptor.class);
public static final String token_header="gcube-token";
+ public static final String uma_token_header="Authorization";
@Override
public void handleRequest(Request request, Call call) {
String token = SecurityTokenProvider.instance.get();
+ String umaToken = UmaJWTProvider.instance.get();
+
+ if (umaToken!=null) {
+ try {
+ JSONParser parser = new JSONParser();
+ JSONObject jsonObject = (JSONObject) parser.parse(umaToken);
+ String accesToken = (String) jsonObject.get("access_token");
+ request.addHeader(uma_token_header, "Bearer "+accesToken);
+ logger.trace("uma token set");
+ }catch (Exception e) {
+ logger.error("error parsing uma token",e);
+ }
+ } else logger.trace("uma token is not set");
if (token==null)
logger.warn("security token is not set");