Added UmaTokenProvider to authorized tasks

This commit is contained in:
Lucio Lelii 2020-05-29 17:23:37 +02:00
parent 0647ec75de
commit 43aa106b60
1 changed files with 9 additions and 0 deletions

View File

@ -4,6 +4,7 @@ import java.util.concurrent.Callable;
import org.gcube.common.authorization.library.provider.AuthorizationProvider; import org.gcube.common.authorization.library.provider.AuthorizationProvider;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider; 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.authorization.library.utils.Caller;
import org.gcube.common.scope.api.ScopeProvider; import org.gcube.common.scope.api.ScopeProvider;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -28,13 +29,17 @@ public class AuthorizedTasks {
final String scope = ScopeProvider.instance.get(); final String scope = ScopeProvider.instance.get();
final String umaToken = UmaJWTProvider.instance.get();
return new Callable<V>() { return new Callable<V>() {
@Override @Override
public V call() throws Exception { public V call() throws Exception {
AuthorizationProvider.instance.set(userCall); AuthorizationProvider.instance.set(userCall);
SecurityTokenProvider.instance.set(token); SecurityTokenProvider.instance.set(token);
ScopeProvider.instance.set(scope); ScopeProvider.instance.set(scope);
UmaJWTProvider.instance.set(umaToken);
try { try {
logger.info("setting on authorized task scope {} and token {}", scope, token); 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 scope = ScopeProvider.instance.get();
final String umaToken = UmaJWTProvider.instance.get();
return new Runnable() { return new Runnable() {
@Override @Override
public void run() { public void run() {
AuthorizationProvider.instance.set(userCall); AuthorizationProvider.instance.set(userCall);
SecurityTokenProvider.instance.set(token); SecurityTokenProvider.instance.set(token);
ScopeProvider.instance.set(scope); ScopeProvider.instance.set(scope);
UmaJWTProvider.instance.set(umaToken);
try { try {
logger.info("setting on authorized task scope {} and token {}", scope, token); logger.info("setting on authorized task scope {} and token {}", scope, token);
task.run(); task.run();