diff --git a/geoportal-service/pom.xml b/geoportal-service/pom.xml
index 3cbfabb..00a6347 100644
--- a/geoportal-service/pom.xml
+++ b/geoportal-service/pom.xml
@@ -64,6 +64,12 @@
+
+ org.gcube.common
+ authorization-utils
+ [2.0.0, 3.0.0-SNAPSHOT)
+
+
diff --git a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/utils/UserUtils.java b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/utils/UserUtils.java
index 6a1dc71..cc525cc 100644
--- a/geoportal-service/src/main/java/org/gcube/application/geoportal/service/utils/UserUtils.java
+++ b/geoportal-service/src/main/java/org/gcube/application/geoportal/service/utils/UserUtils.java
@@ -7,10 +7,9 @@ import org.gcube.application.geoportal.common.model.document.accounting.Accounti
import org.gcube.application.geoportal.common.model.document.accounting.Context;
import org.gcube.application.geoportal.common.model.document.accounting.User;
import org.gcube.common.authorization.library.provider.AccessTokenProvider;
-import org.gcube.common.authorization.library.provider.AuthorizationProvider;
-import org.gcube.common.authorization.library.provider.ClientInfo;
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
-import org.gcube.common.scope.api.ScopeProvider;
+import org.gcube.common.authorization.utils.manager.SecretManager;
+import org.gcube.common.authorization.utils.manager.SecretManagerProvider;
import java.time.LocalDateTime;
import java.util.ArrayList;
@@ -24,25 +23,19 @@ public class UserUtils {
public static List DEFAULT_ROLES=new ArrayList<>();
public static AuthenticatedUser getCurrent() throws SecurityException {
- String context=ScopeProvider.instance.get();
+ log.debug("Loading caller info..");
+
+ SecretManager cm = SecretManagerProvider.instance.get();
+ String context = cm.getContext();
if(context==null) throw new SecurityException("Cannot determine context");
+ org.gcube.common.authorization.utils.user.User user = cm.getUser();
+ log.info("Identified caller {} in context {}",user.getUsername(),context);
- log.debug("Context is {}, checking tokens..",context);
-
- ClientInfo client = null;
Set roles=new HashSet<>();
- try{
- client = AuthorizationProvider.instance.get().getClient();
- roles= new HashSet<>(client.getRoles());
- }catch(Throwable e) {
- log.warn("Unable to get client info ",e);
- roles = new HashSet<>();
- }
-
-
+ roles.addAll(user.getRoles());
AuthenticatedUser toReturn =
- new AuthenticatedUser(client,roles, AccessTokenProvider.instance.get(),SecurityTokenProvider.instance.get(),context);
+ new AuthenticatedUser(user,roles, AccessTokenProvider.instance.get(),SecurityTokenProvider.instance.get(),context);
log.info("Current User is {} ",toReturn);
return toReturn;
@@ -52,7 +45,8 @@ public class UserUtils {
@AllArgsConstructor
@Getter
public static class AuthenticatedUser {
- private ClientInfo user;
+
+ private org.gcube.common.authorization.utils.user.User user;
private Set roles;
@@ -86,11 +80,11 @@ public class UserUtils {
AccountingInfo info=new AccountingInfo();
User user = new User();
try{
- user.setUsername(this.getUser().getId());
+ user.setUsername(this.getUser().getUsername());
user.setRoles(roles);
}catch(Exception e){
log.warn("Unable to determine user id, using FAKE",e);
- user.setUsername("fabio.sinibaldi");
+ user.setUsername("FAKE");
user.setRoles(new HashSet<>());
user.getRoles().addAll(DEFAULT_ROLES);
}
diff --git a/geoportal-service/src/test/java/org/gcube/application/geoportal/service/profiledDocuments/ProfiledConcessioniTests.java b/geoportal-service/src/test/java/org/gcube/application/geoportal/service/profiledDocuments/ProfiledConcessioniTests.java
index c7527a8..27bbe78 100644
--- a/geoportal-service/src/test/java/org/gcube/application/geoportal/service/profiledDocuments/ProfiledConcessioniTests.java
+++ b/geoportal-service/src/test/java/org/gcube/application/geoportal/service/profiledDocuments/ProfiledConcessioniTests.java
@@ -58,7 +58,7 @@ public class ProfiledConcessioniTests extends AbstractProfiledDocumentsTests{
"$.posizionamentoScavo."+ Field.CHILDREN+"[?(@.fileset)]",
null,
RegisterFileSetRequest.ClashOptions.MERGE_EXISTING,
- "pos.shp");
+ "concessioni/pos.shp");
System.out.println("Registered posizionamento, result is "+ Serialization.write(doc));
@@ -66,7 +66,7 @@ public class ProfiledConcessioniTests extends AbstractProfiledDocumentsTests{
StepExecutionRequest submitReq=new StepExecutionRequest();
submitReq.setStepID("SUBMIT-FOR-REVIEW");
// doc=step(doc.getId(),submitReq);
- doc=step("630f912755e2947b0278c1be",submitReq);
+ doc=step(doc.getId(),submitReq);
System.out.println(doc);
assertTrue(doc.getLifecycleInformation().getLastOperationStatus().equals(LifecycleInformation.Status.OK));