[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