[java-plugin-shibd-saml] 01/02: Migrate some constants to API class.
Codeberg
noreply at shibboleth.net
Wed May 27 19:19:27 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-saml.
View the commit online:
https://codeberg.org/Shibboleth/java-plugin-shibd-saml/commit/753c780cd58f80c2dcf7c7013f9ea581125fbc12
commit 753c780cd58f80c2dcf7c7013f9ea581125fbc12
Author: Scott Cantor <scott at restingparrotsoftware.com>
AuthorDate: Wed May 27 15:18:55 2026 -0400
Migrate some constants to API class.
---
.../sp/saml/saml2/context/SAMLLogoutContext.java | 11 +++---
.../flows/saml2/SAML2LogoutConsumerFlowTest.java | 4 +--
.../impl/ProcessLogoutInitiatorRequest.java | 14 ++++----
.../saml2/profile/impl/ProcessLogoutRequest.java | 10 ++----
.../profile/impl/ProcessLogoutRequestTest.java | 42 +++++++++++-----------
5 files changed, 38 insertions(+), 43 deletions(-)
diff --git a/sp-saml-api/src/main/java/net/shibboleth/sp/saml/saml2/context/SAMLLogoutContext.java b/sp-saml-api/src/main/java/net/shibboleth/sp/saml/saml2/context/SAMLLogoutContext.java
index c666bb8..51d17d4 100644
--- a/sp-saml-api/src/main/java/net/shibboleth/sp/saml/saml2/context/SAMLLogoutContext.java
+++ b/sp-saml-api/src/main/java/net/shibboleth/sp/saml/saml2/context/SAMLLogoutContext.java
@@ -19,18 +19,19 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.BaseContext;
import org.opensaml.saml.saml2.core.NameID;
+import org.opensaml.saml.saml2.core.SessionIndex;
/**
* Manages state for SAML logout flows.
*/
public class SAMLLogoutContext extends BaseContext {
- /** NameID from original assertion. */
+ /** {@link NameID} from original assertion. */
@Nullable private NameID nameID;
- /** Session index. */
+ /** {@link SessionIndex} value from original assertion. */
@Nullable private String sessionIndex;
-
+
/**
* Get the SAML {@link NameID} issued with the session.
*
@@ -54,7 +55,7 @@ public class SAMLLogoutContext extends BaseContext {
}
/**
- * Get the SAML SessionIndex value issued with the session.
+ * Get the SAML {@link SessionIndex} value issued with the session.
*
* @return session index
*/
@@ -63,7 +64,7 @@ public class SAMLLogoutContext extends BaseContext {
}
/**
- * Set the SAML SessionIndex value issued with the session.
+ * Set the SAML {@link SessionIndex} value issued with the session.
*
* @param index the index
*
diff --git a/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2LogoutConsumerFlowTest.java b/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2LogoutConsumerFlowTest.java
index 21a125c..58dfcca 100644
--- a/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2LogoutConsumerFlowTest.java
+++ b/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2LogoutConsumerFlowTest.java
@@ -413,9 +413,9 @@ public class SAML2LogoutConsumerFlowTest extends AbstractSPFlowTest {
final DDF http = output.getmember(RemotedHttpServletRequest.STRUCTURE_NAME);
Assert.assertTrue(http.isnull());
- Assert.assertEquals(output.getmember(ProcessLogoutRequest.MATCHED_PARAM).integer() == 1, matched);
+ Assert.assertEquals(output.getmember(ConsumerConstants.MATCHED_PARAM).integer() == 1, matched);
- final String token = output.getmember(ProcessLogoutRequest.TOKEN_PARAM).string();
+ final String token = output.getmember(ConsumerConstants.TOKEN_PARAM).string();
assert token != null;
Assert.assertTrue(token.startsWith(ProcessLogoutRequest.TOKEN_PREFIX));
diff --git a/sp-saml-impl/src/main/java/net/shibboleth/sp/saml/saml2/profile/impl/ProcessLogoutInitiatorRequest.java b/sp-saml-impl/src/main/java/net/shibboleth/sp/saml/saml2/profile/impl/ProcessLogoutInitiatorRequest.java
index 6d9ec27..633efa4 100644
--- a/sp-saml-impl/src/main/java/net/shibboleth/sp/saml/saml2/profile/impl/ProcessLogoutInitiatorRequest.java
+++ b/sp-saml-impl/src/main/java/net/shibboleth/sp/saml/saml2/profile/impl/ProcessLogoutInitiatorRequest.java
@@ -45,13 +45,14 @@ import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.logic.Constraint;
/**
- * Processes a request to "possibly" initiate a SAML 2.0 logout by examining the input to recover
+ * Processes a request to potentially initiate a SAML 2.0 logout by examining the input to recover
* the required information from the opaque portion of the session created by the token consumer
- * flow.
+ * flow and store in a newly created {@link SAMLLogoutContext}.
*
- * <p>Assuming the opaque data is present and sufficient, it creates a {@link RelyingPartyContext}
+ * <p>Assuming the opaque data is present and sufficient, it also creates a {@link RelyingPartyContext}
* based on the identity of the original IdP that issued the token that led to the session.</p>
*
+ * @post <pre>profileRequestContext.getSubcontext(SAMLLogoutContext.class) != null</pre>
* @event {@link EventIds#PROCEED_EVENT_ID}
* @event {@link EventIds#INVALID_PROFILE_CTX}
* @event {@link EventIds#INVALID_MESSAGE}
@@ -95,10 +96,9 @@ public class ProcessLogoutInitiatorRequest extends AbstractApplicationAction {
}
/**
- * Set an optional lookup strategy to identify the relying party name, as a substitute for the session/logout
- * assumptions made by the action otherwise.
+ * Set strategy to create the {@link RelyingPartyContext}.
*
- * @param strategy lookup strategy
+ * @param strategy creation strategy
*/
public void setRelyingPartyContextCreationStrategy(
@Nonnull final Function<ProfileRequestContext,RelyingPartyContext> strategy) {
@@ -138,7 +138,7 @@ public class ProcessLogoutInitiatorRequest extends AbstractApplicationAction {
final String pickled = input.getmember(ConsumerConstants.SESSION_OPAQUE).getmember(PrepareAgentResponse.NAMEID_PARAM).string();
if (pickled == null) {
ActionSupport.buildEvent(profileRequestContext, EventIds.UNABLE_TO_DECODE);
- log.debug("{} No encoded NameID found in input message", getLogPrefix());
+ log.info("{} No encoded NameID found in input message", getLogPrefix());
return false;
}
diff --git a/sp-saml-impl/src/main/java/net/shibboleth/sp/saml/saml2/profile/impl/ProcessLogoutRequest.java b/sp-saml-impl/src/main/java/net/shibboleth/sp/saml/saml2/profile/impl/ProcessLogoutRequest.java
index 7b5d30f..64418df 100644
--- a/sp-saml-impl/src/main/java/net/shibboleth/sp/saml/saml2/profile/impl/ProcessLogoutRequest.java
+++ b/sp-saml-impl/src/main/java/net/shibboleth/sp/saml/saml2/profile/impl/ProcessLogoutRequest.java
@@ -75,12 +75,6 @@ import net.shibboleth.shared.logic.Constraint;
*/
public class ProcessLogoutRequest extends AbstractApplicationAction {
- /** "matched" parameter name. */
- @Nonnull @NotEmpty public static final String MATCHED_PARAM = "matched";
-
- /** "token" parameter name. */
- @Nonnull @NotEmpty public static final String TOKEN_PARAM = "token";
-
/** "token" value prefix. */
@Nonnull @NotEmpty public static final String TOKEN_PREFIX = "SAML:";
@@ -373,7 +367,7 @@ public class ProcessLogoutRequest extends AbstractApplicationAction {
private void addToken(@Nonnull final ProfileRequestContext profileRequestContext, @Nullable final Issuer issuer,
final boolean matched) {
- output.addmember(MATCHED_PARAM).integer(matched ? 1 : 0);
+ output.addmember(ConsumerConstants.MATCHED_PARAM).integer(matched ? 1 : 0);
if (isAsynchronous()) {
log.debug("{} Logout request contained Asynchronous extension, skipping token generation for Agent",
@@ -390,7 +384,7 @@ public class ProcessLogoutRequest extends AbstractApplicationAction {
try {
final String token = stateManager.preserveToStateToken(ensureAgent(), ensureApplication(), state);
- output.addmember(TOKEN_PARAM).string(TOKEN_PREFIX + token);
+ output.addmember(ConsumerConstants.TOKEN_PARAM).string(TOKEN_PREFIX + token);
} catch (final IOException e) {
log.error("{} Exception producing state token", getLogPrefix(), e);
}
diff --git a/sp-saml-impl/src/test/java/net/shibboleth/sp/saml/saml2/profile/impl/ProcessLogoutRequestTest.java b/sp-saml-impl/src/test/java/net/shibboleth/sp/saml/saml2/profile/impl/ProcessLogoutRequestTest.java
index bf3a40e..19c95f5 100644
--- a/sp-saml-impl/src/test/java/net/shibboleth/sp/saml/saml2/profile/impl/ProcessLogoutRequestTest.java
+++ b/sp-saml-impl/src/test/java/net/shibboleth/sp/saml/saml2/profile/impl/ProcessLogoutRequestTest.java
@@ -151,7 +151,7 @@ public class ProcessLogoutRequestTest extends BaseApplicationActionTest {
@Test(expectedExceptions=ComponentInitializationException.class)
public void testNoParserPool() throws ComponentInitializationException {
- new ProcessLogoutInitiatorRequest().initialize();
+ new ProcessLogoutRequest().initialize();
}
@Test
@@ -183,8 +183,8 @@ public class ProcessLogoutRequestTest extends BaseApplicationActionTest {
final DDF output = arc.getOutput();
assert output != null;
- Assert.assertEquals(output.getmember(ProcessLogoutRequest.MATCHED_PARAM).integer(), 0);
- validateToken(output.getmember(ProcessLogoutRequest.TOKEN_PARAM).string());
+ Assert.assertEquals(output.getmember(ConsumerConstants.MATCHED_PARAM).integer(), 0);
+ validateToken(output.getmember(ConsumerConstants.TOKEN_PARAM).string());
}
@Test
@@ -202,8 +202,8 @@ public class ProcessLogoutRequestTest extends BaseApplicationActionTest {
final DDF output = arc.getOutput();
assert output != null;
- Assert.assertEquals(output.getmember(ProcessLogoutRequest.MATCHED_PARAM).integer(), 0);
- validateToken(output.getmember(ProcessLogoutRequest.TOKEN_PARAM).string());
+ Assert.assertEquals(output.getmember(ConsumerConstants.MATCHED_PARAM).integer(), 0);
+ validateToken(output.getmember(ConsumerConstants.TOKEN_PARAM).string());
}
@Test
@@ -213,8 +213,8 @@ public class ProcessLogoutRequestTest extends BaseApplicationActionTest {
final DDF output = arc.getOutput();
assert output != null;
- Assert.assertEquals(output.getmember(ProcessLogoutRequest.MATCHED_PARAM).integer(), 0);
- validateToken(output.getmember(ProcessLogoutRequest.TOKEN_PARAM).string());
+ Assert.assertEquals(output.getmember(ConsumerConstants.MATCHED_PARAM).integer(), 0);
+ validateToken(output.getmember(ConsumerConstants.TOKEN_PARAM).string());
}
@Test
@@ -228,8 +228,8 @@ public class ProcessLogoutRequestTest extends BaseApplicationActionTest {
final DDF output = arc.getOutput();
assert output != null;
- Assert.assertEquals(output.getmember(ProcessLogoutRequest.MATCHED_PARAM).integer(), 0);
- validateToken(output.getmember(ProcessLogoutRequest.TOKEN_PARAM).string());
+ Assert.assertEquals(output.getmember(ConsumerConstants.MATCHED_PARAM).integer(), 0);
+ validateToken(output.getmember(ConsumerConstants.TOKEN_PARAM).string());
}
@Test
@@ -243,8 +243,8 @@ public class ProcessLogoutRequestTest extends BaseApplicationActionTest {
final DDF output = arc.getOutput();
assert output != null;
- Assert.assertEquals(output.getmember(ProcessLogoutRequest.MATCHED_PARAM).integer(), 0);
- validateToken(output.getmember(ProcessLogoutRequest.TOKEN_PARAM).string());
+ Assert.assertEquals(output.getmember(ConsumerConstants.MATCHED_PARAM).integer(), 0);
+ validateToken(output.getmember(ConsumerConstants.TOKEN_PARAM).string());
}
@Test
@@ -259,8 +259,8 @@ public class ProcessLogoutRequestTest extends BaseApplicationActionTest {
final DDF output = arc.getOutput();
assert output != null;
- Assert.assertEquals(output.getmember(ProcessLogoutRequest.MATCHED_PARAM).integer(), 0);
- validateToken(output.getmember(ProcessLogoutRequest.TOKEN_PARAM).string());
+ Assert.assertEquals(output.getmember(ConsumerConstants.MATCHED_PARAM).integer(), 0);
+ validateToken(output.getmember(ConsumerConstants.TOKEN_PARAM).string());
}
@Test
@@ -276,8 +276,8 @@ public class ProcessLogoutRequestTest extends BaseApplicationActionTest {
final DDF output = arc.getOutput();
assert output != null;
- Assert.assertEquals(output.getmember(ProcessLogoutRequest.MATCHED_PARAM).integer(), 1);
- validateToken(output.getmember(ProcessLogoutRequest.TOKEN_PARAM).string());
+ Assert.assertEquals(output.getmember(ConsumerConstants.MATCHED_PARAM).integer(), 1);
+ validateToken(output.getmember(ConsumerConstants.TOKEN_PARAM).string());
}
@Test
@@ -304,8 +304,8 @@ public class ProcessLogoutRequestTest extends BaseApplicationActionTest {
final DDF output = arc.getOutput();
assert output != null;
- Assert.assertEquals(output.getmember(ProcessLogoutRequest.MATCHED_PARAM).integer(), 0);
- validateToken(output.getmember(ProcessLogoutRequest.TOKEN_PARAM).string());
+ Assert.assertEquals(output.getmember(ConsumerConstants.MATCHED_PARAM).integer(), 0);
+ validateToken(output.getmember(ConsumerConstants.TOKEN_PARAM).string());
}
@Test
@@ -328,8 +328,8 @@ public class ProcessLogoutRequestTest extends BaseApplicationActionTest {
final DDF output = arc.getOutput();
assert output != null;
- Assert.assertEquals(output.getmember(ProcessLogoutRequest.MATCHED_PARAM).integer(), 1);
- validateToken(output.getmember(ProcessLogoutRequest.TOKEN_PARAM).string());
+ Assert.assertEquals(output.getmember(ConsumerConstants.MATCHED_PARAM).integer(), 1);
+ validateToken(output.getmember(ConsumerConstants.TOKEN_PARAM).string());
}
@Test
@@ -356,8 +356,8 @@ public class ProcessLogoutRequestTest extends BaseApplicationActionTest {
final DDF output = arc.getOutput();
assert output != null;
- Assert.assertEquals(output.getmember(ProcessLogoutRequest.MATCHED_PARAM).integer(), 1);
- Assert.assertTrue(output.getmember(ProcessLogoutRequest.TOKEN_PARAM).isnull());
+ Assert.assertEquals(output.getmember(ConsumerConstants.MATCHED_PARAM).integer(), 1);
+ Assert.assertTrue(output.getmember(ConsumerConstants.TOKEN_PARAM).isnull());
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list