[java-opensaml COMMIT] in /trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml: common/profile/impl/SignAssertio...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Jun 3 11:43:35 EDT 2014
Author: scantor
Date: Tue Jun 3 11:43:35 2014
New Revision: 3913
URL: http://svn.shibboleth.net/view/java-opensaml?rev=3913&view=rev
Log:
IDP-416 - Support ArtifactResponse messages in signing and encrypt actions.
Modified:
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/SignAssertions.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAssertions.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAttributes.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptNameIDs.java
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/SignAssertions.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/SignAssertions.java?rev=3913&r1=3912&r2=3913&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/SignAssertions.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/profile/impl/SignAssertions.java Tue Jun 3 11:43:35 2014
@@ -34,6 +34,7 @@
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.profile.context.navigate.OutboundMessageContextLookup;
import org.opensaml.saml.common.SAMLObject;
+import org.opensaml.saml.saml2.core.ArtifactResponse;
import org.opensaml.security.SecurityException;
import org.opensaml.xmlsec.SignatureSigningParameters;
import org.opensaml.xmlsec.context.SecurityParametersContext;
@@ -114,6 +115,11 @@
log.debug("{} No SAML Response located in current profile request context", getLogPrefix());
ActionSupport.buildEvent(profileRequestContext, EventIds.INVALID_MSG_CTX);
return false;
+ }
+
+ // Step down into ArtifactResponses.
+ if (response instanceof ArtifactResponse) {
+ response = ((ArtifactResponse) response).getMessage();
}
if (response instanceof org.opensaml.saml.saml1.core.Response) {
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAssertions.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAssertions.java?rev=3913&r1=3912&r2=3913&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAssertions.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/profile/impl/EncryptAssertions.java Tue Jun 3 11:43:35 2014
@@ -33,9 +33,11 @@
import org.opensaml.profile.action.EventIds;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.profile.context.navigate.OutboundMessageContextLookup;
+import org.opensaml.saml.saml2.core.ArtifactResponse;
import org.opensaml.saml.saml2.core.Assertion;
import org.opensaml.saml.saml2.core.EncryptedAssertion;
import org.opensaml.saml.saml2.core.Response;
+import org.opensaml.saml.saml2.core.StatusResponseType;
import org.opensaml.saml.saml2.profile.context.EncryptionContext;
import org.opensaml.xmlsec.EncryptionParameters;
import org.opensaml.xmlsec.encryption.support.EncryptionException;
@@ -62,7 +64,7 @@
@Nonnull private final Logger log = LoggerFactory.getLogger(EncryptAssertions.class);
/** Strategy used to locate the {@link Response} to operate on. */
- @Nonnull private Function<ProfileRequestContext,Response> responseLookupStrategy;
+ @Nonnull private Function<ProfileRequestContext,StatusResponseType> responseLookupStrategy;
/** The message to operate on. */
@Nullable private Response response;
@@ -71,7 +73,7 @@
public EncryptAssertions() {
responseLookupStrategy =
- Functions.compose(new MessageLookup<>(Response.class), new OutboundMessageContextLookup());
+ Functions.compose(new MessageLookup<>(StatusResponseType.class), new OutboundMessageContextLookup());
}
/**
@@ -79,7 +81,7 @@
*
* @param strategy strategy used to locate the {@link Response} to operate on
*/
- public void setResponseLookupStrategy(@Nonnull final Function<ProfileRequestContext,Response> strategy) {
+ public void setResponseLookupStrategy(@Nonnull final Function<ProfileRequestContext,StatusResponseType> strategy) {
ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
responseLookupStrategy = Constraint.isNotNull(strategy, "Response lookup strategy cannot be null");
@@ -98,7 +100,16 @@
@Override
protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
- response = responseLookupStrategy.apply(profileRequestContext);
+ final StatusResponseType message = responseLookupStrategy.apply(profileRequestContext);
[... 114 lines stripped ...]
More information about the commits
mailing list