diff --git a/CHANGELOG.md b/CHANGELOG.md index 2551052..a0d8c64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm # Changelog for Authorization utils +## [v1.0.1-SNAPSHOT] + +- Fixed getRoles for JWTSecret [#22754] +- + ## [v1.0.0] - First Release diff --git a/pom.xml b/pom.xml index 0997d15..ad3229d 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.gcube.common authorization-utils - 1.0.0 + 1.0.1-SNAPSHOT UTF-8 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 e5f9fa8..0e77bf3 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 @@ -2,6 +2,7 @@ package org.gcube.common.authorization.utils.user; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; import java.util.Set; @@ -66,8 +67,9 @@ public class GCubeUser implements User { return roles; } - public void setRoles(Set roles) { - this.roles = roles; + @Override + public void setRoles(Collection roles) { + this.roles = new HashSet<>(roles); } @Override public String getGivenName() { diff --git a/src/main/java/org/gcube/common/authorization/utils/user/KeycloakUser.java b/src/main/java/org/gcube/common/authorization/utils/user/KeycloakUser.java index ba8e6fc..b477e77 100644 --- a/src/main/java/org/gcube/common/authorization/utils/user/KeycloakUser.java +++ b/src/main/java/org/gcube/common/authorization/utils/user/KeycloakUser.java @@ -15,6 +15,9 @@ public class KeycloakUser extends AccessToken implements User { */ private static final long serialVersionUID = -7083648026885406300L; + protected Collection roles; + + @Override @JsonIgnore public String getUsername() { @@ -24,7 +27,13 @@ public class KeycloakUser extends AccessToken implements User { @Override @JsonIgnore public Collection getRoles() { - return getRealmAccess().getRoles(); + return roles; + } + + @Override + @JsonIgnore + public void setRoles(Collection roles) { + this.roles = roles; } @Override diff --git a/src/main/java/org/gcube/common/authorization/utils/user/User.java b/src/main/java/org/gcube/common/authorization/utils/user/User.java index 1eb5af4..558da35 100644 --- a/src/main/java/org/gcube/common/authorization/utils/user/User.java +++ b/src/main/java/org/gcube/common/authorization/utils/user/User.java @@ -11,6 +11,8 @@ public interface User { public Collection getRoles(); + public void setRoles(Collection roles); + public String getGivenName(); public String getFamilyName();