[java-identity-provider COMMIT] in /trunk: idp-conf/src/main/resources/system/conf/webflow-config.xml idp-conf/src/ma...

noreply at shibboleth.net noreply at shibboleth.net
Sat Oct 3 12:03:57 EDT 2015


Author: serac
Date: Sat Oct  3 12:03:56 2015
New Revision: 7796

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7796&view=rev
Log:
IDP-224 Use JSON for logout propagation result.

Technology-specific logout propagation flows are responsible for setting
result fields on LogoutPropagationContext, which are exposed in a JSON
view, /system/views/logout/propagate-response.vm. That view is rendered
to support updating the UI via javascript.

Added:
    trunk/idp-conf/src/main/resources/system/flows/logout/propagation/
    trunk/idp-conf/src/main/resources/system/flows/logout/propagation/saml2-beans.xml
    trunk/idp-conf/src/main/resources/system/flows/logout/propagation/saml2-flow.xml
    trunk/idp-conf/src/main/resources/system/views/logout/
    trunk/idp-conf/src/main/resources/system/views/logout/propagate-response.vm
Modified:
    trunk/idp-conf/src/main/resources/system/conf/webflow-config.xml
    trunk/idp-conf/src/main/resources/system/flows/logout/logout-propagation-flow.xml
    trunk/idp-conf/src/main/resources/views/logout-propagate.vm
    trunk/idp-conf/src/main/resources/views/logout-response.vm
    trunk/idp-session-api/src/main/java/net/shibboleth/idp/session/context/LogoutPropagationContext.java

Modified: trunk/idp-conf/src/main/resources/system/conf/webflow-config.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/conf/webflow-config.xml?rev=7796&r1=7795&r2=7796&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/conf/webflow-config.xml	(original)
+++ trunk/idp-conf/src/main/resources/system/conf/webflow-config.xml	Sat Oct  3 12:03:56 2015
@@ -34,6 +34,9 @@
 
         <!-- Logout propagation master flow. -->
         <webflow:flow-location id="PropagateLogout" path="../system/flows/logout/logout-propagation-flow.xml" />
+
+        <!-- Logout propagation delegate flows. -->
+        <webflow:flow-location id="logoutprop/saml2" path="../system/flows/logout/propagation/saml2-flow.xml" />
 
         <!-- Abstract flows underpinning SAML profiles. -->
         <webflow:flow-location id="saml.abstract" path="../system/flows/saml/saml-abstract-flow.xml" />

Modified: trunk/idp-conf/src/main/resources/system/flows/logout/logout-propagation-flow.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/flows/logout/logout-propagation-flow.xml?rev=7796&r1=7795&r2=7796&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/flows/logout/logout-propagation-flow.xml	(original)
+++ trunk/idp-conf/src/main/resources/system/flows/logout/logout-propagation-flow.xml	Sat Oct  3 12:03:56 2015
@@ -20,20 +20,21 @@
     -->
     <subflow-state id="CallPropagationFlow" subflow="#{currentEvent.id}">
         <input name="calledAsSubflow" value="true" />
-        <transition on="proceed" to="LogoutSucceeded" />
+        <transition on="proceed" to="RenderResult" />
     </subflow-state>
     
-    <end-state id="LogoutSucceeded">
+    <end-state id="RenderResult" view="logout/propagate-response">
         <on-entry>
             <evaluate expression="WriteAuditLog" />
-            <evaluate expression="RecordResponseComplete" />
+            <evaluate expression="flowRequestContext.getExternalContext().getNativeResponse().setContentType('application/json')" />
+            <evaluate expression="opensamlProfileRequestContext.getSubcontext(T(net.shibboleth.idp.session.context.LogoutPropagationContext))" result="requestScope.logoutPropCtx" />
+            <evaluate expression="T(net.shibboleth.utilities.java.support.codec.HTMLEncoder)" result="requestScope.encoder" />
         </on-entry>
     </end-state>
 
     <end-state id="LogoutFailed">
         <on-entry>
             <evaluate expression="WriteAuditLog" />
-            <evaluate expression="flowRequestContext.getExternalContext().getNativeResponse().setStatus(500)" />
             <evaluate expression="RecordResponseComplete" />
         </on-entry>
         <exception-handler bean="RethrowingFlowExecutionExceptionHandler"/>

Modified: trunk/idp-conf/src/main/resources/views/logout-propagate.vm
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/views/logout-propagate.vm?rev=7796&r1=7795&r2=7796&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/views/logout-propagate.vm	(original)
+++ trunk/idp-conf/src/main/resources/views/logout-propagate.vm	Sat Oct  3 12:03:56 2015
@@ -56,7 +56,13 @@
                       function onLoad(src, target, noContentIsSuccess) {
                           try {
                               var content = src.contents().find('body').text();
-                              if (content || noContentIsSuccess) {
+                              var success = false;
+                              if (content) {

[... 83 lines stripped ...]


More information about the commits mailing list