diff --git a/src/main/java/org/gcube/common/authorization/library/AuthorizedTasks.java b/src/main/java/org/gcube/common/authorization/library/AuthorizedTasks.java index 51b8274..ad6f1bf 100644 --- a/src/main/java/org/gcube/common/authorization/library/AuthorizedTasks.java +++ b/src/main/java/org/gcube/common/authorization/library/AuthorizedTasks.java @@ -4,6 +4,7 @@ import java.util.concurrent.Callable; import org.gcube.common.authorization.library.provider.AuthorizationProvider; import org.gcube.common.authorization.library.provider.SecurityTokenProvider; +import org.gcube.common.authorization.library.provider.UmaJWTProvider; import org.gcube.common.authorization.library.utils.Caller; import org.gcube.common.scope.api.ScopeProvider; import org.slf4j.Logger; @@ -28,13 +29,17 @@ public class AuthorizedTasks { final String scope = ScopeProvider.instance.get(); + final String umaToken = UmaJWTProvider.instance.get(); + return new Callable() { @Override public V call() throws Exception { + AuthorizationProvider.instance.set(userCall); SecurityTokenProvider.instance.set(token); ScopeProvider.instance.set(scope); + UmaJWTProvider.instance.set(umaToken); try { logger.info("setting on authorized task scope {} and token {}", scope, token); @@ -64,12 +69,16 @@ public class AuthorizedTasks { final String scope = ScopeProvider.instance.get(); + final String umaToken = UmaJWTProvider.instance.get(); + return new Runnable() { @Override public void run() { AuthorizationProvider.instance.set(userCall); SecurityTokenProvider.instance.set(token); ScopeProvider.instance.set(scope); + UmaJWTProvider.instance.set(umaToken); + try { logger.info("setting on authorized task scope {} and token {}", scope, token); task.run();