diff --git a/src/main/java/org/gcube/common/authorization/utils/socialservice/SocialService.java b/src/main/java/org/gcube/common/authorization/utils/socialservice/SocialService.java index 48291aa..8e2ed00 100644 --- a/src/main/java/org/gcube/common/authorization/utils/socialservice/SocialService.java +++ b/src/main/java/org/gcube/common/authorization/utils/socialservice/SocialService.java @@ -50,11 +50,11 @@ public class SocialService { } public static SocialService getSocialService() throws Exception { - String contex = SecretManager.instance.get().getContext(); - SocialService socialService = socialServicePerContext.get(contex); + String context = SecretManager.instance.get().getContext(); + SocialService socialService = socialServicePerContext.get(context); if(socialService == null) { socialService = new SocialService(); - socialServicePerContext.put(contex, socialService); + socialServicePerContext.put(context, socialService); } return socialService; } diff --git a/src/main/java/org/gcube/common/authorization/utils/user/GCubeUser.java b/src/main/java/org/gcube/common/authorization/utils/user/GCubeUser.java index be69286..e217f57 100644 --- a/src/main/java/org/gcube/common/authorization/utils/user/GCubeUser.java +++ b/src/main/java/org/gcube/common/authorization/utils/user/GCubeUser.java @@ -1,15 +1,30 @@ package org.gcube.common.authorization.utils.user; import java.util.Collection; +import java.util.HashMap; +import java.util.Map; import java.util.Set; +import org.gcube.com.fasterxml.jackson.annotation.JsonAnyGetter; +import org.gcube.com.fasterxml.jackson.annotation.JsonAnySetter; +import org.gcube.com.fasterxml.jackson.annotation.JsonIgnore; import org.gcube.com.fasterxml.jackson.annotation.JsonProperty; /** * @author Luca Frosini (ISTI - CNR) */ public class GCubeUser implements User { - + + /** + * Used to allow to have any additional properties + */ + @JsonIgnore + protected Map additionalProperties; + + public GCubeUser() { + this.additionalProperties = new HashMap<>(); + } + @JsonProperty("id") protected String username; @JsonProperty("roles") @@ -66,5 +81,23 @@ public class GCubeUser implements User { public String getMiddleName() { return middleName; } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + public void setAdditionalProperties(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + public Object getAdditionalProperty(String key) { + return additionalProperties.get(key); + } + + @JsonAnySetter + public void setAdditionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + } }