[java-opensaml COMMIT] in /trunk: opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport...
noreply at shibboleth.net
noreply at shibboleth.net
Wed Jan 30 20:28:07 EST 2013
Author: putmanb
Date: Wed Jan 30 20:28:07 2013
New Revision: 3194
URL: http://svn.shibboleth.net/view/java-opensaml?rev=3194&view=rev
Log:
Get rid of some other erroneous use of UriSupport, in artifact encoders which aren't currently tested.
Move some code from base encoder to support class.
Modified:
trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/HTTPArtifactEncoder.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/BaseSAML2MessageEncoder.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/HTTPArtifactEncoder.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/HTTPPostEncoder.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/HTTPRedirectDeflateEncoder.java
Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java?rev=3194&r1=3193&r2=3194&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/binding/SAMLBindingSupport.java Wed Jan 30 20:28:07 2013
@@ -122,5 +122,17 @@
}
}
}
+
+ /**
+ * Sets the destination attribute on the outbound message if it is a {@link StatusResponseType} message.
+ *
+ * @param outboundMessage outbound SAML message
+ * @param endpointURL destination endpoint
+ */
+ public static void setSaml2ResponseDestination(SAMLObject outboundMessage, String endpointURL) {
+ if (outboundMessage instanceof StatusResponseType) {
+ ((StatusResponseType) outboundMessage).setDestination(endpointURL);
+ }
+ }
}
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/HTTPArtifactEncoder.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/HTTPArtifactEncoder.java?rev=3194&r1=3193&r2=3194&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/HTTPArtifactEncoder.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/HTTPArtifactEncoder.java Wed Jan 30 20:28:07 2013
@@ -18,7 +18,7 @@
package org.opensaml.saml.saml1.binding.encoding;
import java.io.IOException;
-import java.net.URI;
+import java.net.MalformedURLException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
@@ -27,7 +27,6 @@
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.component.ComponentSupport;
import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.net.UriSupport;
import org.opensaml.core.xml.io.MarshallingException;
import org.opensaml.messaging.context.BasicMessageMetadataContext;
@@ -44,6 +43,7 @@
import org.opensaml.saml.saml1.binding.artifact.SAML1ArtifactType0001;
import org.opensaml.saml.saml1.core.Assertion;
import org.opensaml.saml.saml1.core.Response;
+import org.opensaml.util.net.UrlBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -123,13 +123,21 @@
protected void doEncode() throws MessageEncodingException {
MessageContext<SAMLObject> messageContext = getMessageContext();
- URI endpointUrl = getEndpointURL(messageContext);
-
- List<Pair<String, String>> params = UriSupport.parseQueryString(endpointUrl.getQuery());
+ String endpointUrl = getEndpointURL(messageContext).toString();
+
+ UrlBuilder urlBuilder = null;
+ try {
+ urlBuilder = new UrlBuilder(endpointUrl);
+ } catch (MalformedURLException e) {
+ throw new MessageEncodingException("Endpoint URL " + endpointUrl + " is not a valid URL", e);
+ }
+
+ List<Pair<String, String>> queryParams = urlBuilder.getQueryParams();
+ queryParams.clear();
String relayState = SAMLBindingSupport.getRelayState(messageContext);
if (SAMLBindingSupport.checkRelayState(relayState)) {
- params.add(new Pair<String, String>("TARGET", relayState));
+ queryParams.add(new Pair<String, String>("TARGET", relayState));
}
SAML1ArtifactBuilder artifactBuilder;
@@ -165,12 +173,10 @@
throw new MessageEncodingException("Unable to marshall assertion to be represented as an artifact", e);
}
artifactString = artifact.base64Encode();
[... 157 lines stripped ...]
More information about the commits
mailing list