[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