From 5a0869a771f65f87fa2a4ed402fb1f3597b92198 Mon Sep 17 00:00:00 2001 From: Matthias Piepkorn <mpiepk@gmail.com> Date: Sun, 05 Feb 2017 11:32:25 +0000 Subject: [PATCH] Handle service ticket validation on proxyValidate endpoint, return error on proxy endpoint --- src/main/java/org/keycloak/protocol/cas/mappers/AbstractCASProtocolMapper.java | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/src/main/java/org/keycloak/protocol/cas/mappers/AbstractCASProtocolMapper.java b/src/main/java/org/keycloak/protocol/cas/mappers/AbstractCASProtocolMapper.java index 2c19433..6838f6d 100644 --- a/src/main/java/org/keycloak/protocol/cas/mappers/AbstractCASProtocolMapper.java +++ b/src/main/java/org/keycloak/protocol/cas/mappers/AbstractCASProtocolMapper.java @@ -3,8 +3,12 @@ import org.keycloak.Config; import org.keycloak.models.KeycloakSession; import org.keycloak.models.KeycloakSessionFactory; +import org.keycloak.models.ProtocolMapperModel; import org.keycloak.protocol.ProtocolMapper; import org.keycloak.protocol.cas.CASLoginProtocol; +import org.keycloak.protocol.oidc.mappers.OIDCAttributeMapperHelper; + +import java.util.Map; public abstract class AbstractCASProtocolMapper implements ProtocolMapper, CASAttributeMapper { public static final String TOKEN_MAPPER_CATEGORY = "Token mapper"; @@ -35,4 +39,16 @@ public String getDisplayCategory() { return TOKEN_MAPPER_CATEGORY; } + + protected void setMappedAttribute(Map<String, Object> attributes, ProtocolMapperModel mappingModel, Object attributeValue) { + setPlainAttribute(attributes, mappingModel, OIDCAttributeMapperHelper.mapAttributeValue(mappingModel, attributeValue)); + } + + protected void setPlainAttribute(Map<String, Object> attributes, ProtocolMapperModel mappingModel, Object attributeValue) { + String protocolClaim = mappingModel.getConfig().get(OIDCAttributeMapperHelper.TOKEN_CLAIM_NAME); + if (protocolClaim == null || attributeValue == null) { + return; + } + attributes.put(protocolClaim, attributeValue); + } } -- Gitblit v1.9.1