Repository: cxf-fediz Updated Branches: refs/heads/master bd0511cab -> a4ba98893
Moving SAML Request parsing out of subflow Project: http://git-wip-us.apache.org/repos/asf/cxf-fediz/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf-fediz/commit/9fdf81d5 Tree: http://git-wip-us.apache.org/repos/asf/cxf-fediz/tree/9fdf81d5 Diff: http://git-wip-us.apache.org/repos/asf/cxf-fediz/diff/9fdf81d5 Branch: refs/heads/master Commit: 9fdf81d521c59a4395084ecfb6e3d39a7900fd82 Parents: bd0511c Author: Colm O hEigeartaigh <[email protected]> Authored: Thu Dec 8 12:44:19 2016 +0000 Committer: Colm O hEigeartaigh <[email protected]> Committed: Thu Dec 8 12:44:19 2016 +0000 ---------------------------------------------------------------------- .../WEB-INF/flows/saml-signin-request.xml | 20 ++++---------------- .../WEB-INF/flows/saml-validate-request.xml | 17 +++++++++++------ 2 files changed, 15 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/9fdf81d5/services/idp/src/main/webapp/WEB-INF/flows/saml-signin-request.xml ---------------------------------------------------------------------- diff --git a/services/idp/src/main/webapp/WEB-INF/flows/saml-signin-request.xml b/services/idp/src/main/webapp/WEB-INF/flows/saml-signin-request.xml index c4adbe5..0198ae0 100644 --- a/services/idp/src/main/webapp/WEB-INF/flows/saml-signin-request.xml +++ b/services/idp/src/main/webapp/WEB-INF/flows/saml-signin-request.xml @@ -24,19 +24,10 @@ http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd"> <input name="idpConfig" /> - <input name="SAMLRequest" /> <input name="RelayState" /> - <input name="Signature" /> <input name="protocol" /> + <input name="saml_authn_request" /> - <action-state id="parseAuthnRequest"> - <evaluate expression="authnRequestParser.parseSAMLRequest(flowRequestContext, flowScope.idpConfig, - flowScope.SAMLRequest, flowScope.Signature, - flowScope.RelayState)" /> - <transition to="processHRDSExpression"/> - <transition on-exception="org.apache.cxf.fediz.core.exception.ProcessingException" to="viewBadRequest" /> - </action-state> - <decision-state id="processHRDSExpression"> <on-entry> <evaluate expression="processHRDSExpressionAction.submit(flowRequestContext, null)" @@ -62,14 +53,14 @@ <var name="trustedIDPSelection" class="org.apache.cxf.fediz.service.idp.model.TrustedIDPSelection" /> <binder> - <binding property="whr" required="true" /> + <binding property="home_realm" required="true" /> </binder> <on-entry> <set name="requestScope.idPConfig" value="flowScope.idpConfig" /> </on-entry> <transition on="submit" to="checkIsThisIDP" bind="true" validate="true"> - <set name="flowScope.home_realm" value="trustedIDPSelection.whr" /> + <set name="flowScope.home_realm" value="trustedIDPSelection.home_realm" /> <evaluate expression="homeRealmReminder.addCookie(flowRequestContext, flowScope.home_realm)" /> </transition> @@ -168,13 +159,10 @@ <end-state id="requestRpToken"> <output name="home_realm" value="flowScope.home_realm" /> <output name="idpToken" value="flowScope.idpToken" /> - <output name="saml_authn_request" value="flowScope.saml_authn_request" /> </end-state> <!-- abnormal exit point --> - <end-state id="viewBadRequest"> - <output name="saml_authn_request" value="flowScope.saml_authn_request" /> - </end-state> + <end-state id="viewBadRequest" /> <!-- abnormal exit point --> <end-state id="scInternalServerError" /> http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/9fdf81d5/services/idp/src/main/webapp/WEB-INF/flows/saml-validate-request.xml ---------------------------------------------------------------------- diff --git a/services/idp/src/main/webapp/WEB-INF/flows/saml-validate-request.xml b/services/idp/src/main/webapp/WEB-INF/flows/saml-validate-request.xml index 36ac3a8..7aeb494 100644 --- a/services/idp/src/main/webapp/WEB-INF/flows/saml-validate-request.xml +++ b/services/idp/src/main/webapp/WEB-INF/flows/saml-validate-request.xml @@ -57,7 +57,7 @@ <if test="requestParameters.RelayState == null or requestParameters.RelayState.isEmpty()" then="viewBadRequest" /> <if test="requestParameters.SAMLRequest != null and !requestParameters.SAMLRequest.isEmpty()" - then="signinSAMLRequest" /> + then="parseSAMLAuthnRequest" /> <if test="requestParameters.SAMLResponse == null or requestParameters.SAMLResponse.isEmpty()" then="viewBadRequest" else="signinResponse" /> </decision-state> @@ -74,26 +74,31 @@ then="viewBadRequest" else="signinResponse" /> </decision-state> + <action-state id="parseSAMLAuthnRequest"> + <evaluate expression="authnRequestParser.parseSAMLRequest(flowRequestContext, flowScope.idpConfig, + flowScope.SAMLRequest, flowScope.Signature, + flowScope.RelayState)" /> + <transition to="signinSAMLRequest"/> + <transition on-exception="org.apache.cxf.fediz.core.exception.ProcessingException" to="viewBadRequest" /> + </action-state> + <subflow-state id="signinSAMLRequest" subflow="signinSAMLRequest"> <input name="idpConfig" value="flowScope.idpConfig" /> <input name="SAMLRequest" value="flowScope.SAMLRequest" /> <input name="RelayState" value="flowScope.RelayState" /> <input name="Signature" value="flowScope.Signature" /> <input name="protocol" value="'samlsso'" /> + <input name="saml_authn_request" value="flowScope.saml_authn_request" /> <output name="home_realm" /> <output name="idpToken" /> <output name="trusted_idp_context" /> - <output name="saml_authn_request" /> <transition on="requestRpToken" to="requestRpToken"> <set name="flowScope.home_realm" value="currentEvent.attributes.home_realm" /> <set name="flowScope.idpToken" value="currentEvent.attributes.idpToken" /> - <set name="flowScope.saml_authn_request" value="currentEvent.attributes.saml_authn_request" /> - </transition> - <transition on="viewBadRequest" to="viewBadRequest"> - <set name="flowScope.saml_authn_request" value="currentEvent.attributes.saml_authn_request" /> </transition> + <transition on="viewBadRequest" to="viewBadRequest" /> <transition on="scInternalServerError" to="scInternalServerError" /> <transition on="redirectToLocalIDP" to="redirectToLocalIDP" /> <transition on="redirectToTrustedIDP" to="processTrustedIdpProtocol">
