[java-identity-provider] branch main updated: IDP-1829 - Add option to disable outbound logout

Scott Cantor cantor.2 at osu.edu
Tue Apr 5 15:55:06 UTC 2022


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch main
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=532601d8f9f2e5185d2bf58949834d6deacbb779

The following commit(s) were added to refs/heads/main by this push:
     new 532601d8f IDP-1829 - Add option to disable outbound logout
532601d8f is described below

commit 532601d8f9f2e5185d2bf58949834d6deacbb779
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue Apr 5 11:55:02 2022 -0400

    IDP-1829 - Add option to disable outbound logout
    
    https://shibboleth.atlassian.net/browse/IDP-1829
    
    Fix glitch with implied async support.
---
 .../idp/flows/saml/saml2/slo-front-abstract-flow.xml   | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/slo-front-abstract-flow.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/slo-front-abstract-flow.xml
index 162b340ee..b97b98603 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/slo-front-abstract-flow.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/flows/saml/saml2/slo-front-abstract-flow.xml
@@ -33,6 +33,9 @@
     
     <!-- Tri-decision state. -->
     <action-state id="PreProcessLogoutMessage">
+        <on-entry>
+            <set name="flowScope.asyncLogout" value="false" />
+        </on-entry>
         <evaluate expression="PreProcessLogoutMessage" />
         <evaluate expression="'proceed'" />
 
@@ -43,6 +46,9 @@
     
     <!-- This is the one action inside "OutboundContextsAndSecurityParameters" that we can't skip. -->
     <action-state id="AsyncDecryptionParameters">
+        <on-entry>
+            <set name="flowScope.asyncLogout" value="true" />
+        </on-entry>
         <evaluate expression="PopulateDecryptionParameters" />
         <evaluate expression="'proceed'" />
         
@@ -140,7 +146,7 @@
             <evaluate expression="flowRequestContext.getActiveFlow().getApplicationContext().containsBean('shibboleth.CustomViewContext') ? flowRequestContext.getActiveFlow().getApplicationContext().getBean('shibboleth.CustomViewContext') : null" result="viewScope.custom" />
         </on-render>
         
-        <transition on="proceed" to="CheckAsync2" />
+        <transition on="proceed" to="CheckAsync" />
         <transition on="local" to="DestroySessions">
             <set name="flowScope.transitionAfterDestroy" value="'LogoutCompleteView'" />
         </transition>
@@ -172,7 +178,7 @@
             <evaluate expression="flowRequestContext.getActiveFlow().getApplicationContext().containsBean('shibboleth.CustomViewContext') ? flowRequestContext.getActiveFlow().getApplicationContext().getBean('shibboleth.CustomViewContext') : null" result="viewScope.custom" />
         </on-render>
         
-        <transition on="proceed" to="CheckAsync2" />
+        <transition on="proceed" to="CheckAsync" />
     </view-state>
 
     <view-state id="LogoutCompleteView" view="logout-complete">
@@ -187,12 +193,12 @@
             <evaluate expression="flowRequestContext.getActiveFlow().getApplicationContext().containsBean('shibboleth.CustomViewContext') ? flowRequestContext.getActiveFlow().getApplicationContext().getBean('shibboleth.CustomViewContext') : null" result="viewScope.custom" />
         </on-render>
 
-        <transition on="proceed" to="CheckAsync2" />
+        <transition on="proceed" to="CheckAsync" />
     </view-state>
     
-    <decision-state id="CheckAsync2">
-        <if test="opensamlProfileRequestContext.getInboundMessageContext().getMessage().getExtensions() == null or opensamlProfileRequestContext.getInboundMessageContext().getMessage().getExtensions().getUnknownXMLObjects(T(org.opensaml.saml.ext.saml2aslo.Asynchronous).DEFAULT_ELEMENT_NAME).isEmpty()"
-            then="BuildResponse" else="AsyncLogoutView" />
+    <decision-state id="CheckAsync">
+        <if test="flowScope.asyncLogout"
+            then="AsyncLogoutView" else="BuildResponse" />
     </decision-state>
     
     <action-state id="BuildResponse">

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list