[java-idp-testbed COMMIT] in /trunk/src/main: java/idp/BuildMockSaml2Response.java resources/system/flows/saml2/sso-a...
noreply at shibboleth.net
noreply at shibboleth.net
Tue Nov 5 14:51:51 EST 2013
Author: scantor
Date: Tue Nov 5 14:51:51 2013
New Revision: 38
URL: http://svn.shibboleth.net/view/java-idp-testbed?rev=38&view=rev
Log:
Propagate last web flow event as status message in mock response.
Modified:
trunk/src/main/java/idp/BuildMockSaml2Response.java
trunk/src/main/resources/system/flows/saml2/sso-abstract-flow.xml
Modified: trunk/src/main/java/idp/BuildMockSaml2Response.java
URL: http://svn.shibboleth.net/view/java-idp-testbed/trunk/src/main/java/idp/BuildMockSaml2Response.java?rev=38&r1=37&r2=38&view=diff
==============================================================================
--- trunk/src/main/java/idp/BuildMockSaml2Response.java (original)
+++ trunk/src/main/java/idp/BuildMockSaml2Response.java Tue Nov 5 14:51:51 2013
@@ -10,12 +10,14 @@
import org.opensaml.core.xml.XMLObjectBuilderFactory;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.profile.ProfileException;
+import org.opensaml.profile.action.EventIds;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.saml.common.SAMLObject;
import org.opensaml.saml.saml2.core.Issuer;
import org.opensaml.saml.saml2.core.Response;
import org.opensaml.saml.saml2.core.Status;
import org.opensaml.saml.saml2.core.StatusCode;
+import org.opensaml.saml.saml2.core.StatusMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,7 +43,7 @@
log.debug("Building mock SAML 2 Response");
- Response response = buildResponse(profileRequestContext);
+ Response response = buildResponse(springRequestContext, profileRequestContext);
MessageContext<SAMLObject> outboundMessageContext = buildOutboundMessageContext(response);
@@ -57,7 +59,7 @@
return messageContext;
}
- private Response buildResponse(ProfileRequestContext<SAMLObject, SAMLObject> profileRequestContext) {
+ private Response buildResponse(RequestContext springRequestContext, ProfileRequestContext<SAMLObject, SAMLObject> profileRequestContext) {
Response response = (Response) builderFactory.getBuilder(Response.DEFAULT_ELEMENT_NAME).buildObject(Response.DEFAULT_ELEMENT_NAME);
response.setID(idGenerator.generateIdentifier());
@@ -69,8 +71,17 @@
Status status = (Status) builderFactory.getBuilder(Status.DEFAULT_ELEMENT_NAME).buildObject(Status.DEFAULT_ELEMENT_NAME);
StatusCode statusCode = (StatusCode) builderFactory.getBuilder(StatusCode.DEFAULT_ELEMENT_NAME).buildObject(StatusCode.DEFAULT_ELEMENT_NAME);
- statusCode.setValue(StatusCode.SUCCESS_URI);
- status.setStatusCode(statusCode);
+ status.setStatusCode(statusCode);
+
+ if (springRequestContext.getCurrentEvent().getId().equals(EventIds.PROCEED_EVENT_ID)) {
+ statusCode.setValue(StatusCode.SUCCESS_URI);
+ } else {
+ statusCode.setValue(StatusCode.RESPONDER_URI);
+ StatusMessage msg = (StatusMessage) builderFactory.getBuilder(StatusMessage.DEFAULT_ELEMENT_NAME).buildObject(StatusMessage.DEFAULT_ELEMENT_NAME);
+ msg.setMessage(springRequestContext.getCurrentEvent().getId());
+ status.setStatusMessage(msg);
+ }
+
response.setStatus(status);
return response;
Modified: trunk/src/main/resources/system/flows/saml2/sso-abstract-flow.xml
URL: http://svn.shibboleth.net/view/java-idp-testbed/trunk/src/main/resources/system/flows/saml2/sso-abstract-flow.xml?rev=38&r1=37&r2=38&view=diff
==============================================================================
--- trunk/src/main/resources/system/flows/saml2/sso-abstract-flow.xml (original)
+++ trunk/src/main/resources/system/flows/saml2/sso-abstract-flow.xml Tue Nov 5 14:51:51 2013
@@ -31,7 +31,7 @@
</action-state>
<subflow-state id="DoAuthenticationSubflow" subflow="Authentication">
- <transition on="proceed" to="BuildResponse" />
+ <transition on="#{true}" to="BuildResponse" />
</subflow-state>
<action-state id="BuildResponse">
More information about the commits
mailing list