[java-plugin-shibd] branch main updated: Upadtes/fixes for logout-consumer flows.

Codeberg noreply at shibboleth.net
Thu May 28 13:56:02 UTC 2026


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

codeberg pushed a commit to branch main
in repository java-plugin-shibd.

View the commit online:
https://codeberg.org/Shibboleth/java-plugin-shibd/commit/e79753bd1fc9d2669437775c0111096f201aa6e4

The following commit(s) were added to refs/heads/main by this push:
     new e79753b  Upadtes/fixes for logout-consumer flows.
e79753b is described below

commit e79753bd1fc9d2669437775c0111096f201aa6e4
Author: Scott Cantor <scott at restingparrotsoftware.com>
AuthorDate: Thu May 28 09:55:43 2026 -0400

    Upadtes/fixes for logout-consumer flows.
---
 .../idp/flows/sp/logout/consumer/consumer-flow.xml       |  2 ++
 .../net/shibboleth/sp/profile/ConsumerConstants.java     |  3 +++
 .../context/logic/HttpServletRequestPredicate.java       |  5 ++++-
 .../sp/profile/impl/SelectLogoutConsumerFlow.java        | 16 ----------------
 4 files changed, 9 insertions(+), 17 deletions(-)

diff --git a/sp-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/consumer/consumer-flow.xml b/sp-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/consumer/consumer-flow.xml
index f9b6878..1a4d381 100644
--- a/sp-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/consumer/consumer-flow.xml
+++ b/sp-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/logout/consumer/consumer-flow.xml
@@ -23,6 +23,7 @@
     <end-state id="NoPassive" />
     <end-state id="ReselectFlow" />
     <end-state id="RuntimeException" />
+    <end-state id="UnableToDecode" />
 
     <action-state id="LogRuntimeException">
         <on-entry>
@@ -45,6 +46,7 @@
         <transition on="ReselectFlow" to="ReselectFlow" />
         <transition on="MessageProcessingError" to="MessageProcessingError" />
         <transition on="RuntimeException" to="RuntimeException" />
+        <transition on="UnableToDecode" to="UnableToDecode" />
     </global-transitions>
 
 </flow>
diff --git a/sp-server-api/src/main/java/net/shibboleth/sp/profile/ConsumerConstants.java b/sp-server-api/src/main/java/net/shibboleth/sp/profile/ConsumerConstants.java
index 73434f8..b3fb1bc 100644
--- a/sp-server-api/src/main/java/net/shibboleth/sp/profile/ConsumerConstants.java
+++ b/sp-server-api/src/main/java/net/shibboleth/sp/profile/ConsumerConstants.java
@@ -43,6 +43,9 @@ public final class ConsumerConstants {
 
     /** Logout consumer state token parameter name. */
     @Nonnull @NotEmpty public static final String TOKEN_PARAM = "token";
+
+    /** Logout consumer success indicator parameter name. */
+    @Nonnull @NotEmpty public static final String SUCCESS_PARAM = "success";
     
     /** Private constructor. */
     private ConsumerConstants() {
diff --git a/sp-server-api/src/main/java/net/shibboleth/sp/profile/context/logic/HttpServletRequestPredicate.java b/sp-server-api/src/main/java/net/shibboleth/sp/profile/context/logic/HttpServletRequestPredicate.java
index 5c79f85..f2475ca 100644
--- a/sp-server-api/src/main/java/net/shibboleth/sp/profile/context/logic/HttpServletRequestPredicate.java
+++ b/sp-server-api/src/main/java/net/shibboleth/sp/profile/context/logic/HttpServletRequestPredicate.java
@@ -71,7 +71,7 @@ public class HttpServletRequestPredicate extends AbstractInitializableComponent
     protected void doInitialize() throws ComponentInitializationException {
         super.doInitialize();
         
-        if (this.httpServletRequestSupplier == null) {
+        if (httpServletRequestSupplier == null) {
             throw new ComponentInitializationException("HttpServletRequest supplier was null");
         } else if (requestValidator == null) {
             throw new ComponentInitializationException("HttpServletRequestValidator was null");
@@ -86,6 +86,9 @@ public class HttpServletRequestPredicate extends AbstractInitializableComponent
         } catch (final ServletException e) {
             log.debug("Request failed validation: {}", e.getMessage());
             return false;
+        } catch (final IllegalStateException e) {
+            log.debug("HttpServletRequest not present, failing validation");
+            return false;
         }
         
         return true;
diff --git a/sp-server-impl/src/main/java/net/shibboleth/sp/profile/impl/SelectLogoutConsumerFlow.java b/sp-server-impl/src/main/java/net/shibboleth/sp/profile/impl/SelectLogoutConsumerFlow.java
index af883b5..73fd079 100644
--- a/sp-server-impl/src/main/java/net/shibboleth/sp/profile/impl/SelectLogoutConsumerFlow.java
+++ b/sp-server-impl/src/main/java/net/shibboleth/sp/profile/impl/SelectLogoutConsumerFlow.java
@@ -68,22 +68,6 @@ public class SelectLogoutConsumerFlow extends AbstractApplicationAction {
                     Collectors.toUnmodifiableMap(LogoutConsumerFlowDescriptor::getId, Function.identity()))).get();
     }
 
-    /** {@inheritDoc} */
-    @Override
-    protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
-        if (!super.doPreExecute(profileRequestContext)) {
-            return false;
-        }
-        
-        if (ensureAgentRequestContext().getRemotedHttpServletRequest() == null) {
-            log.warn("No remoted HttpServletRequest available, malformed agent request?", getLogPrefix());
-            ActionSupport.buildEvent(profileRequestContext, AuthnEventIds.NO_POTENTIAL_FLOW);
-            return false;
-        }
-        
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override
     protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {

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


More information about the commits mailing list