From 8560e4a392962f6b1bdd40f444f091f6a36cdbd4 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Fri, 24 Nov 2023 15:24:58 +0000 Subject: [PATCH] CASLoginProtocol: close Response resource in backchannelLogout --- src/main/java/org/keycloak/protocol/cas/mappers/GroupMembershipMapper.java | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/keycloak/protocol/cas/mappers/GroupMembershipMapper.java b/src/main/java/org/keycloak/protocol/cas/mappers/GroupMembershipMapper.java index a6db974..80870f0 100644 --- a/src/main/java/org/keycloak/protocol/cas/mappers/GroupMembershipMapper.java +++ b/src/main/java/org/keycloak/protocol/cas/mappers/GroupMembershipMapper.java @@ -1,8 +1,6 @@ package org.keycloak.protocol.cas.mappers; -import org.keycloak.models.GroupModel; -import org.keycloak.models.ProtocolMapperModel; -import org.keycloak.models.UserSessionModel; +import org.keycloak.models.*; import org.keycloak.models.utils.ModelToRepresentation; import org.keycloak.protocol.oidc.mappers.OIDCAttributeMapperHelper; import org.keycloak.provider.ProviderConfigProperty; @@ -11,6 +9,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; public class GroupMembershipMapper extends AbstractCASProtocolMapper { private static final List<ProviderConfigProperty> configProperties = new ArrayList<ProviderConfigProperty>(); @@ -52,10 +51,11 @@ } @Override - public void setAttribute(Map<String, Object> attributes, ProtocolMapperModel mappingModel, UserSessionModel userSession) { + public void setAttribute(Map<String, Object> attributes, ProtocolMapperModel mappingModel, UserSessionModel userSession, + KeycloakSession session, ClientSessionContext clientSessionCt) { List<String> membership = new LinkedList<>(); boolean fullPath = useFullPath(mappingModel); - for (GroupModel group : userSession.getUser().getGroups()) { + for (GroupModel group : userSession.getUser().getGroupsStream().collect(Collectors.toSet())) { if (fullPath) { membership.add(ModelToRepresentation.buildGroupPath(group)); } else { @@ -69,10 +69,9 @@ return "true".equals(mappingModel.getConfig().get(FULL_PATH)); } - public static ProtocolMapperModel create(String name, String tokenClaimName, - boolean consentRequired, String consentText, boolean fullPath) { + public static ProtocolMapperModel create(String name, String tokenClaimName, boolean fullPath) { ProtocolMapperModel mapper = CASAttributeMapperHelper.createClaimMapper(name, tokenClaimName, - "String", consentRequired, consentText, PROVIDER_ID); + "String", PROVIDER_ID); mapper.getConfig().put(FULL_PATH, Boolean.toString(fullPath)); return mapper; } -- Gitblit v1.9.1