Skip to content

Commit

Permalink
Merge 9c2830f into 7535616
Browse files Browse the repository at this point in the history
  • Loading branch information
shripadnalgirkar committed Apr 23, 2021
2 parents 7535616 + 9c2830f commit 2729934
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion src/main/java/org/seedstack/oauth/internal/OAuthRealm.java
Expand Up @@ -25,6 +25,8 @@
import javax.inject.Named;
import java.util.*;

import net.minidev.json.JSONArray;

public class OAuthRealm implements Realm {
private static final Logger LOGGER = LoggerFactory.getLogger(OAuthRealm.class);
@Configuration
Expand Down Expand Up @@ -158,10 +160,23 @@ private Set<String> accessClaimToStrings(Collection<PrincipalProvider<?>> otherP
return Optional.ofNullable(Principals.getOnePrincipalByType(otherPrincipals, AccessClaims.class))
.map(PrincipalProvider::get)
.map(accessClaims -> accessClaims.get(claim))
.map(claimObj -> {//changes done to handle users with multiple roles in the form of a JSONArray Jira - IDVS - 10752
StringBuilder claimsStr = new StringBuilder("");
if (claimObj instanceof JSONArray) {
JSONArray array = (JSONArray) claimObj;
for (int i = 0; i < array.size(); i++) {
claimsStr = claimsStr.append(array.get(i).toString()).append(" ");
}
return claimsStr.toString();
}
return claimObj;

})
.map(String::valueOf)
.map(s -> s.split(" "))
.map(Arrays::asList)
.map(HashSet::new)
.orElse(new HashSet<>());

}
}
}

0 comments on commit 2729934

Please sign in to comment.