From d41afe91ee59daf6b5f5037cecac52900fe2ccb2 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Fri, 31 Jan 2020 20:41:54 +0100 Subject: a lot of more OpenSAML3 refactoring staff This version is also NOT stable! --- .../opensaml/StringRedirectDeflateEncoder.java | 33 ++++++++-------------- 1 file changed, 11 insertions(+), 22 deletions(-) (limited to 'eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/impl/opensaml/StringRedirectDeflateEncoder.java') diff --git a/eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/impl/opensaml/StringRedirectDeflateEncoder.java b/eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/impl/opensaml/StringRedirectDeflateEncoder.java index 8838daec..bd450518 100644 --- a/eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/impl/opensaml/StringRedirectDeflateEncoder.java +++ b/eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/impl/opensaml/StringRedirectDeflateEncoder.java @@ -19,15 +19,13 @@ package at.gv.egiz.eaaf.modules.pvp2.impl.opensaml; -import org.opensaml.common.binding.SAMLMessageContext; -import org.opensaml.saml2.binding.encoding.HTTPRedirectDeflateEncoder; -import org.opensaml.ws.message.MessageContext; -import org.opensaml.ws.message.encoder.MessageEncodingException; +import org.opensaml.messaging.context.MessageContext; +import org.opensaml.messaging.encoder.MessageEncodingException; +import org.opensaml.saml.common.SAMLObject; +import org.opensaml.saml.saml2.binding.encoding.impl.HTTPRedirectDeflateEncoder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import at.gv.egiz.eaaf.modules.pvp2.impl.opensaml.initialize.EaafDefaultSaml2Bootstrap; - /** * Create deflate encoded SAML2 redirect-binding informations. * @@ -40,27 +38,18 @@ public class StringRedirectDeflateEncoder extends HTTPRedirectDeflateEncoder { private String redirectUrl = null; @Override - public void encode(final MessageContext messageContext) throws MessageEncodingException { - if (!(messageContext instanceof SAMLMessageContext)) { - log.error("Invalid message context type, this encoder only support SAMLMessageContext"); - throw new MessageEncodingException( - "Invalid message context type, this encoder only support SAMLMessageContext"); - } - - // load default PVP security configurations - EaafDefaultSaml2Bootstrap.initializeDefaultPvpConfiguration(); - - final SAMLMessageContext samlMsgCtx = (SAMLMessageContext) messageContext; + protected void doEncode() throws MessageEncodingException { + final MessageContext messageContext = getMessageContext(); + final SAMLObject outboundMessage = messageContext.getMessage(); - final String endpointUrl = getEndpointURL(samlMsgCtx).buildURL(); + final String endpointUrl = getEndpointURL(messageContext).toString(); - setResponseDestination(samlMsgCtx.getOutboundSAMLMessage(), endpointUrl); + removeSignature(outboundMessage); - removeSignature(samlMsgCtx); + final String encodedMessage = deflateAndBase64Encode(outboundMessage); - final String encodedMessage = deflateAndBase64Encode(samlMsgCtx.getOutboundSAMLMessage()); + redirectUrl = buildRedirectURL(messageContext, endpointUrl, encodedMessage); - redirectUrl = buildRedirectURL(samlMsgCtx, endpointUrl, encodedMessage); } /** -- cgit v1.2.3