[java-plugin-shibd-saml] branch main updated: Refactoring of Agent on Application implementation to simplify config.

Scott Cantor cantor.2 at osu.edu
Thu Aug 14 13:54:37 UTC 2025


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

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

View the commit online:
http://git.shibboleth.net/view/?p=java-plugin-shibd-saml.git;a=commit;h=6cfff02b979b563da3d1bf83eaa76245480da850

The following commit(s) were added to refs/heads/main by this push:
     new 6cfff02  Refactoring of Agent on Application implementation to simplify config.
6cfff02 is described below

commit 6cfff02b979b563da3d1bf83eaa76245480da850
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Aug 14 09:54:35 2025 -0400

    Refactoring of Agent on Application implementation to simplify config.
---
 .../idp/flows/sp/consumer/saml2/saml2-beans.xml    |  2 +-
 .../idp/flows/sp/initiator/saml2/saml2-beans.xml   |  2 +-
 .../net/shibboleth/sp/service/agent/postconfig.xml | 96 +++++++++++-----------
 .../idp/module/conf/sp/saml-credentials.xml        |  7 +-
 .../flows/saml2/SAML2SessionInitiatorFlowTest.java |  7 ++
 ...MLEnvironmentApplicationContextInitializer.java |  2 +-
 .../net/shibboleth/idp/module/conf/sp/agents.xml   | 14 +---
 .../idp/module/conf/sp/saml-test-agents.xml        | 42 ++++------
 .../shibboleth/idp/module/conf/sp/sp.properties    |  6 +-
 9 files changed, 85 insertions(+), 93 deletions(-)

diff --git a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/consumer/saml2/saml2-beans.xml b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/consumer/saml2/saml2-beans.xml
index ab7a157..6f767f0 100644
--- a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/consumer/saml2/saml2-beans.xml
+++ b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/consumer/saml2/saml2-beans.xml
@@ -23,7 +23,7 @@
     </bean>
 
     <bean id="ProcessCorrelationCookie" class="net.shibboleth.sp.profile.impl.ProcessCorrelationCookie" scope="prototype"
-        p:cookieManager-ref="shibboleth.RemotedCookieManager"
+        p:cookieManager-ref="shibboleth.sp.RemotedCookieManager"
         p:cookiePrefix="%{sp.correlation.cookiePrefix:__Host-_shibsp_req_}"
         p:createOutputObjects="true"
         p:stateTokenLookupStrategy-ref="RelayStateLookupStrategy" />
diff --git a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/saml2/saml2-beans.xml b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/saml2/saml2-beans.xml
index 2603879..9c37391 100644
--- a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/saml2/saml2-beans.xml
+++ b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/saml2/saml2-beans.xml
@@ -141,7 +141,7 @@
     </bean>
 
     <bean id="IssueCorrelationCookie" class="net.shibboleth.sp.profile.impl.IssueCorrelationCookie" scope="prototype"
-        p:cookieManager-ref="shibboleth.RemotedCookieManager"
+        p:cookieManager-ref="shibboleth.sp.RemotedCookieManager"
         p:cookiePrefix="%{sp.correlation.cookiePrefix:__Host-_shibsp_req_}"
         p:createOutputObjects="true"
         p:errorFatal="%{sp.stateToken.errorsFatal:false}"
diff --git a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/sp/service/agent/postconfig.xml b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/sp/service/agent/postconfig.xml
index 1a41d04..2952663 100644
--- a/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/sp/service/agent/postconfig.xml
+++ b/sp-saml-conf-impl/src/main/resources/META-INF/net/shibboleth/sp/service/agent/postconfig.xml
@@ -26,7 +26,7 @@
     
     <bean id="SAML2.SSO" lazy-init="true"
         class="net.shibboleth.sp.saml.saml2.profile.config.impl.BrowserSSOProfileConfiguration"
-        p:securityConfiguration-ref="shibboleth.DefaultXMLSecurityConfiguration"
+        p:securityConfiguration-ref="shibboleth.sp.DefaultXMLSecurityConfiguration"
         p:encryptionOptionalPredicate="%{sp.saml.encryption.optional:true}"
         p:checkAddress="%{sp.saml.checkAddress:true}"
         p:checkInResponseTo="%{sp.saml.checkInResoonseTo:true}"
@@ -53,7 +53,7 @@
         
     <bean id="SAML2.Logout" lazy-init="true"
         class="net.shibboleth.sp.saml.saml2.profile.config.impl.SingleLogoutProfileConfiguration"
-        p:securityConfiguration-ref="shibboleth.DefaultXMLSecurityConfiguration"
+        p:securityConfiguration-ref="shibboleth.sp.DefaultXMLSecurityConfiguration"
         p:encryptionOptionalPredicate="%{sp.saml.encryption.optional:true}"
         p:asynchronous="%{sp.saml.logout.asynchronous:true}" />
     
@@ -64,29 +64,29 @@
     and loads the default credentials used.
     -->
 
-    <bean id="shibboleth.DefaultXMLSecurityConfiguration" class="org.opensaml.xmlsec.config.BasicXMLSecurityConfiguration">
+    <bean id="shibboleth.sp.DefaultXMLSecurityConfiguration" class="org.opensaml.xmlsec.config.BasicXMLSecurityConfiguration">
         <property name="signatureSigningConfiguration">
-            <ref bean="#{'%{sp.saml.signing.config:shibboleth.SigningConfiguration.SHA256}'.trim()}" />
+            <ref bean="#{'%{sp.saml.signing.config:shibboleth.sp.SigningConfiguration.SHA256}'.trim()}" />
         </property>
         
         <property name="signatureValidationConfiguration">
             <bean parent="shibboleth.BasicSignatureValidationConfiguration" 
-                p:signatureTrustEngine-ref="#{'%{sp.saml.trust.signatures:shibboleth.ChainingSignatureTrustEngine}'.trim()}" />
+                p:signatureTrustEngine-ref="#{'%{sp.saml.trust.signatures:shibboleth.sp.ChainingSignatureTrustEngine}'.trim()}" />
         </property>
 
         <property name="clientTLSValidationConfiguration">
             <bean parent="shibboleth.BasicClientTLSValidationConfiguration"
-                p:x509TrustEngine-ref="#{'%{sp.saml.trust.certificates:shibboleth.ChainingX509TrustEngine}'.trim()}" />
+                p:x509TrustEngine-ref="#{'%{sp.saml.trust.certificates:shibboleth.sp.ChainingX509TrustEngine}'.trim()}" />
         </property>
         
         <property name="httpClientSecurityConfiguration">
             <bean parent="shibboleth.BasicHttpClientSecurityConfiguration"
-                p:clientTLSCredential="#{getObject('shibboleth.DefaultClientTLSCredential')}"
-                p:TLSTrustEngine-ref="#{'%{sp.saml.trust.httpClient.tls:shibboleth.ChainingX509TrustEngine}'.trim()}" />
+                p:clientTLSCredential="#{getObject('shibboleth.sp.DefaultClientTLSCredential')}"
+                p:TLSTrustEngine-ref="#{'%{sp.saml.trust.httpClient.tls:shibboleth.sp.ChainingX509TrustEngine}'.trim()}" />
         </property>
         
         <property name="encryptionConfiguration">
-            <ref bean="#{'%{sp.saml.encryption.config:shibboleth.EncryptionConfiguration.CBC}'.trim()}" />
+            <ref bean="#{'%{sp.saml.encryption.config:shibboleth.sp.EncryptionConfiguration.CBC}'.trim()}" />
         </property>
 
         <property name="decryptionConfiguration">
@@ -110,7 +110,7 @@
         p:targetMethod="registerFactory">
         <property name="arguments">
             <list>
-                <ref bean="%{sp.saml.security.basicKeyInfoFactory:shibboleth.BasicKeyInfoGeneratorFactory}" />
+                <ref bean="%{sp.saml.security.basicKeyInfoFactory:shibboleth.sp.BasicKeyInfoGeneratorFactory}" />
             </list>
         </property>
     </bean>
@@ -119,30 +119,30 @@
         p:targetMethod="registerFactory">
         <property name="arguments">
             <list>
-                <ref bean="%{sp.saml.security.x509KeyInfoFactory:shibboleth.X509KeyInfoGeneratorFactory}" />
+                <ref bean="%{sp.saml.security.x509KeyInfoFactory:shibboleth.sp.X509KeyInfoGeneratorFactory}" />
             </list>
         </property>
     </bean>
     
     <!-- The default generators, overrideable by inheriting from them and then setting the two properties. -->
-    <bean id="shibboleth.BasicKeyInfoGeneratorFactory" class="org.opensaml.xmlsec.keyinfo.impl.BasicKeyInfoGeneratorFactory"
+    <bean id="shibboleth.sp.BasicKeyInfoGeneratorFactory" class="org.opensaml.xmlsec.keyinfo.impl.BasicKeyInfoGeneratorFactory"
         p:emitPublicKeyValue="true"
         p:emitKeyNames="true"  />
-    <bean id="shibboleth.X509KeyInfoGeneratorFactory" class="org.opensaml.xmlsec.keyinfo.impl.X509KeyInfoGeneratorFactory"
+    <bean id="shibboleth.sp.X509KeyInfoGeneratorFactory" class="org.opensaml.xmlsec.keyinfo.impl.X509KeyInfoGeneratorFactory"
         p:emitEntityCertificate="true" />
 
     <!-- Convenience beans for directly injecting SHA-256 or SHA-1 usage.  -->
     
-    <bean id="shibboleth.SecurityConfiguration.SHA256" parent="shibboleth.DefaultSecurityConfiguration" lazy-init="true"
-        p:signatureSigningConfiguration-ref="shibboleth.SigningConfiguration.SHA256" />
+    <bean id="shibboleth.sp.SecurityConfiguration.SHA256" parent="shibboleth.sp.DefaultSecurityConfiguration" lazy-init="true"
+        p:signatureSigningConfiguration-ref="shibboleth.sp.SigningConfiguration.SHA256" />
 
-    <bean id="shibboleth.SecurityConfiguration.SHA1" parent="shibboleth.DefaultSecurityConfiguration" lazy-init="true"
-        p:signatureSigningConfiguration-ref="shibboleth.SigningConfiguration.SHA1" />
+    <bean id="shibboleth.sp.SecurityConfiguration.SHA1" parent="shibboleth.sp.DefaultSecurityConfiguration" lazy-init="true"
+        p:signatureSigningConfiguration-ref="shibboleth.sp.SigningConfiguration.SHA1" />
 
     <!-- Actual signing configurations for SHA-256 and SHA-1. -->
     
-    <bean id="shibboleth.SigningConfiguration.SHA256" parent="shibboleth.BasicSignatureSigningConfiguration"
-            p:signingCredentials-ref="shibboleth.DefaultSigningCredential"
+    <bean id="shibboleth.sp.SigningConfiguration.SHA256" parent="shibboleth.BasicSignatureSigningConfiguration"
+            p:signingCredentials-ref="shibboleth.sp.DefaultSigningCredential"
             p:keyInfoGeneratorManager-ref="NamedKeyInfoGeneratorManager">
         <property name="signatureAlgorithms">
             <list>
@@ -160,8 +160,8 @@
         </property>
     </bean>
 
-    <bean id="shibboleth.SigningConfiguration.SHA1" parent="shibboleth.BasicSignatureSigningConfiguration"
-            p:signingCredentials-ref="shibboleth.DefaultSigningCredential"
+    <bean id="shibboleth.sp.SigningConfiguration.SHA1" parent="shibboleth.BasicSignatureSigningConfiguration"
+            p:signingCredentials-ref="shibboleth.sp.DefaultSigningCredential"
             p:keyInfoGeneratorManager-ref="NamedKeyInfoGeneratorManager">
         <property name="signatureAlgorithms">
             <list>
@@ -181,15 +181,15 @@
 
     <!-- Convenience beans for directly injecting AES-CBC or AES-GCM usage.  -->
     
-    <bean id="shibboleth.SecurityConfiguration.CBC" parent="shibboleth.DefaultSecurityConfiguration" lazy-init="true"
-        p:encryptionConfiguration-ref="shibboleth.EncryptionConfiguration.CBC" />
+    <bean id="shibboleth.sp.SecurityConfiguration.CBC" parent="shibboleth.sp.DefaultSecurityConfiguration" lazy-init="true"
+        p:encryptionConfiguration-ref="shibboleth.sp.EncryptionConfiguration.CBC" />
 
-    <bean id="shibboleth.SecurityConfiguration.GCM" parent="shibboleth.DefaultSecurityConfiguration" lazy-init="true"
-        p:encryptionConfiguration-ref="shibboleth.EncryptionConfiguration.GCM" />
+    <bean id="shibboleth.SecurityConfiguration.GCM" parent="shibboleth.sp.DefaultSecurityConfiguration" lazy-init="true"
+        p:encryptionConfiguration-ref="shibboleth.sp.EncryptionConfiguration.GCM" />
 
     <!-- Actual encryption configurations for AES-CBC and AES-GCM. -->
 
-    <bean id="shibboleth.EncryptionConfiguration.CBC" parent="shibboleth.BasicEncryptionConfiguration"
+    <bean id="shibboleth.sp.EncryptionConfiguration.CBC" parent="shibboleth.BasicEncryptionConfiguration"
             p:keyTransportKeyInfoGeneratorManager-ref="NamedKeyInfoGeneratorManager">
         <property name="dataEncryptionAlgorithms">
             <list>
@@ -205,7 +205,7 @@
         </property>
     </bean>
 
-    <bean id="shibboleth.EncryptionConfiguration.GCM" parent="shibboleth.BasicEncryptionConfiguration"
+    <bean id="shibboleth.sp.EncryptionConfiguration.GCM" parent="shibboleth.BasicEncryptionConfiguration"
             p:keyTransportKeyInfoGeneratorManager-ref="NamedKeyInfoGeneratorManager">
         <property name="dataEncryptionAlgorithms">
             <list>
@@ -223,60 +223,58 @@
     
     <!-- Beans related to configuration of key agreement, mostly to provide abstract parent beans for impl classes -->
     
-    <bean id="shibboleth.KeyAgreement.Configuration" abstract="true"
+    <bean id="shibboleth.sp.KeyAgreement.Configuration" abstract="true"
         class="org.opensaml.saml.security.SAMLMetadataKeyAgreementEncryptionConfiguration" />
 
-    <bean id="shibboleth.KeyAgreement.ConcatKDF" abstract="true" class="org.opensaml.xmlsec.derivation.impl.ConcatKDF" />
+    <bean id="shibboleth.sp.KeyAgreement.ConcatKDF" abstract="true" class="org.opensaml.xmlsec.derivation.impl.ConcatKDF" />
 
-    <bean id="shibboleth.KeyAgreement.PBKDF2" abstract="true" class="org.opensaml.xmlsec.derivation.impl.PBKDF2" />
+    <bean id="shibboleth.sp.KeyAgreement.PBKDF2" abstract="true" class="org.opensaml.xmlsec.derivation.impl.PBKDF2" />
 
-    <bean id="shibboleth.KeyAgreement.DigestMethod" abstract="true" class="org.opensaml.xmlsec.agreement.impl.DigestMethod" />
+    <bean id="shibboleth.sp.KeyAgreement.DigestMethod" abstract="true" class="org.opensaml.xmlsec.agreement.impl.DigestMethod" />
 
-    <bean id="shibboleth.KeyAgreement.KANonce" abstract="true" class="org.opensaml.xmlsec.agreement.impl.KANonce" />
+    <bean id="shibboleth.sp.KeyAgreement.KANonce" abstract="true" class="org.opensaml.xmlsec.agreement.impl.KANonce" />
 
-    <bean id="shibboleth.MetadataPKIXValidationInformationResolver"
+    <bean id="shibboleth.sp.MetadataPKIXValidationInformationResolver"
         class="net.shibboleth.idp.saml.security.impl.MetadataPKIXValidationInformationResolver"
         c:resolver-ref="shibboleth.RoleDescriptorResolver" />
 
     <!-- Trust Engine options for message signature evaluation. -->
         
-    <bean id="shibboleth.ExplicitKeySignatureTrustEngine"
+    <bean id="shibboleth.sp.ExplicitKeySignatureTrustEngine"
         class="org.opensaml.xmlsec.signature.support.impl.ExplicitKeySignatureTrustEngine"
         c:resolver-ref="shibboleth.MetadataCredentialResolver"
         c:keyInfoResolver-ref="shibboleth.KeyInfoCredentialResolver" />
 
-    <bean id="shibboleth.PKIXSignatureTrustEngine"
+    <bean id="shibboleth.sp.PKIXSignatureTrustEngine"
         class="org.opensaml.xmlsec.signature.support.impl.PKIXSignatureTrustEngine" 
-        c:resolver-ref="shibboleth.MetadataPKIXValidationInformationResolver"
+        c:resolver-ref="shibboleth.sp.MetadataPKIXValidationInformationResolver"
         c:keyInfoResolver-ref="shibboleth.KeyInfoCredentialResolver" />
 
-    <bean id="shibboleth.ChainingSignatureTrustEngine"
+    <bean id="shibboleth.sp.ChainingSignatureTrustEngine"
             class="org.opensaml.xmlsec.signature.support.impl.ChainingSignatureTrustEngine">
         <constructor-arg>
             <list>
-                <ref bean="shibboleth.ExplicitKeySignatureTrustEngine" />
-                <ref bean="shibboleth.PKIXSignatureTrustEngine" />
+                <ref bean="shibboleth.sp.ExplicitKeySignatureTrustEngine" />
+                <ref bean="shibboleth.sp.PKIXSignatureTrustEngine" />
             </list>
         </constructor-arg>
     </bean>
 
     <!-- Trust Engine options for X.509 certificate evaluation (e.g., TLS). -->
 
-    <bean id="shibboleth.ExplicitKeyX509TrustEngine"
+    <bean id="shibboleth.sp.ExplicitKeyX509TrustEngine"
         class="org.opensaml.security.trust.impl.ExplicitKeyTrustEngine"
         c:resolver-ref="shibboleth.MetadataCredentialResolver" />
-    <!-- Backward compatibility, remove in 5.0. -->
-    <alias name="shibboleth.ExplicitKeyX509TrustEngine" alias="shibboleth.ExplicitX509TrustEngine" />
 
-    <bean id="shibboleth.PKIXX509TrustEngine"
+    <bean id="shibboleth.sp.PKIXX509TrustEngine"
         class="org.opensaml.security.x509.impl.PKIXX509CredentialTrustEngine"
-        c:resolver-ref="shibboleth.MetadataPKIXValidationInformationResolver" />
+        c:resolver-ref="shibboleth.sp.MetadataPKIXValidationInformationResolver" />
 
-    <bean id="shibboleth.ChainingX509TrustEngine" class="org.opensaml.security.trust.impl.ChainingTrustEngine">
+    <bean id="shibboleth.sp.ChainingX509TrustEngine" class="org.opensaml.security.trust.impl.ChainingTrustEngine">
         <constructor-arg>
             <list>
-                <ref bean="shibboleth.ExplicitKeyX509TrustEngine" />
-                <ref bean="shibboleth.PKIXX509TrustEngine" />
+                <ref bean="shibboleth.sp.ExplicitKeyX509TrustEngine" />
+                <ref bean="shibboleth.sp.PKIXX509TrustEngine" />
             </list>
         </constructor-arg>
     </bean>
@@ -288,7 +286,7 @@
                 <bean class="org.opensaml.xmlsec.keyinfo.impl.LocalKeyInfoCredentialResolver">
                     <constructor-arg name="localCredentialResolver">
                         <bean class="org.opensaml.xmlsec.keyinfo.impl.CollectionKeyInfoCredentialResolver"
-                            c:credentials-ref="shibboleth.DefaultEncryptionCredentials" />
+                            c:credentials-ref="shibboleth.sp.DefaultEncryptionCredentials" />
                     </constructor-arg>
                     <constructor-arg name="keyInfoProviders">
                         <list>
@@ -302,7 +300,7 @@
                     </constructor-arg>
                 </bean>
                 <bean class="org.opensaml.xmlsec.keyinfo.impl.StaticKeyInfoCredentialResolver"
-                    c:credentials-ref="shibboleth.DefaultEncryptionCredentials" />
+                    c:credentials-ref="shibboleth.sp.DefaultEncryptionCredentials" />
             </list>
         </constructor-arg>
     </bean>
diff --git a/sp-saml-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/sp/saml-credentials.xml b/sp-saml-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/sp/saml-credentials.xml
index 7f1daad..b9dfb91 100644
--- a/sp-saml-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/sp/saml-credentials.xml
+++ b/sp-saml-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/sp/saml-credentials.xml
@@ -20,15 +20,16 @@
     -->
     
     <!-- Your SP's default signing key, set via property file. -->
-    <bean id="shibboleth.DefaultSigningCredential" parent="shibboleth.BasicX509CredentialFactoryBean"
+    <bean id="shibboleth.sp.DefaultSigningCredential" parent="shibboleth.BasicX509CredentialFactoryBean"
         p:privateKeyResource="%{sp.saml.signing.key}"
         p:certificateResource="%{sp.saml.signing.cert}" />
         
     <!-- Your SPs default client TLS credential, by default the same as the default signing credential. -->
-    <alias alias="shibboleth.DefaultClientTLSCredential" name="shibboleth.DefaultSigningCredential" />
+    <alias alias="shibboleth.sp.DefaultClientTLSCredential" name="shibboleth.sp.DefaultSigningCredential" />
             
     <!-- Your SP's default encryption (really decryption) keys, set via property file. -->
-    <util:list id="shibboleth.DefaultEncryptionCredentials">
+    <util:list id="shibboleth.sp.DefaultEncryptionCredentials">
+    
         <bean parent="shibboleth.BasicX509CredentialFactoryBean"
             p:privateKeyResource="%{sp.saml.encryption.key}"
             p:certificateResource="%{sp.saml.encryption.cert}" />
diff --git a/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2SessionInitiatorFlowTest.java b/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2SessionInitiatorFlowTest.java
index 66634d1..883df66 100644
--- a/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2SessionInitiatorFlowTest.java
+++ b/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/SAML2SessionInitiatorFlowTest.java
@@ -32,6 +32,7 @@ import org.opensaml.saml.saml2.binding.decoding.impl.HTTPRedirectDeflateDecoder;
 import org.opensaml.saml.saml2.core.AuthnContext;
 import org.opensaml.saml.saml2.core.AuthnContextComparisonTypeEnumeration;
 import org.opensaml.saml.saml2.core.AuthnRequest;
+import org.opensaml.saml.saml2.core.Issuer;
 import org.opensaml.saml.saml2.core.NameIDPolicy;
 import org.opensaml.saml.saml2.core.NameIDType;
 import org.opensaml.saml.saml2.core.RequestedAuthnContext;
@@ -73,6 +74,9 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
     /** Flow ID. */
     @Nonnull public static final String FLOW_ID = "sp/session-initiator";
 
+    /** Issuer value. */
+    @Nonnull public static final String ISSUER = "https://testsp.example.org";
+    
     /** Resource URL. */
     @Nonnull public static final byte[] RESOURCE_URL = "https://sp.example.org/secure".getBytes(StandardCharsets.UTF_8);
 
@@ -605,6 +609,9 @@ public class SAML2SessionInitiatorFlowTest extends AbstractSPFlowTest {
         assert authnRequest != null;
         Assert.assertNotNull(authnRequest.getID());
         Assert.assertTrue(Instant.now().isAfter(authnRequest.getIssueInstant()));
+        final Issuer issuer = authnRequest.getIssuer();
+        assert issuer != null;
+        Assert.assertEquals(issuer.getValue(), ISSUER);
         
         if (input != null) {
             boolean foundCorrelationCookie = false;
diff --git a/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/TestSPSAMLEnvironmentApplicationContextInitializer.java b/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/TestSPSAMLEnvironmentApplicationContextInitializer.java
index b2881e3..1a832ed 100644
--- a/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/TestSPSAMLEnvironmentApplicationContextInitializer.java
+++ b/sp-saml-conf-impl/src/test/java/net/shibboleth/sp/saml/flows/saml2/TestSPSAMLEnvironmentApplicationContextInitializer.java
@@ -44,7 +44,7 @@ public class TestSPSAMLEnvironmentApplicationContextInitializer
         mock.setProperty("idp.home", "classpath:/net/shibboleth/idp/module");
         mock.setProperty("idp.webflows", "classpath*:/flows");
         mock.setProperty("sp.service.agents.resources", "test.sp.saml.AgentResolverResources");
-        mock.setProperty("sp.stateToken.Manager","shibboleth.CookieStateTokenManager");
+        mock.setProperty("sp.stateToken.Manager","shibboleth.sp.CookieStateTokenManager");
         mock.setProperty("idp.additionalProperties",
                 "/conf/ldap.properties, /conf/saml-nameid.properties, /conf/services.properties, /conf/admin/admin.properties, /conf/authn/authn.properties, /conf/c14n/subject-c14n.properties, /credentials/secrets.properties, /conf/sp/sp.properties, /conf/sp/saml.properties");
         applicationContext.getEnvironment().getPropertySources().addFirst(mock);
diff --git a/sp-saml-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/agents.xml b/sp-saml-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/agents.xml
index 8c691c4..f077130 100644
--- a/sp-saml-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/agents.xml
+++ b/sp-saml-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/agents.xml
@@ -29,20 +29,14 @@
 
     <!-- ============ Agents and their Applications ============ -->
 
-    <bean p:id="localhost" parent="shibboleth.Agent" p:sharedSecrets="foo">
-        <property name="applications">
-            <set>
-                <bean p:id="default" parent="shibboleth.Application" />
-            </set>
-        </property>
-    </bean>
+    <bean p:id="localhost" parent="shibboleth.sp.Agent" p:sharedSecrets="foo" />
 
 
     <!-- ============ Profile defaults ============ -->
     
     <!-- Used for all applications by default to provide a baseline for profile settings. -->
 
-    <util:list id="shibboleth.DefaultProfileConfigurations">
+    <util:list id="shibboleth.sp.DefaultProfileConfigurations">
         <!-- Your profiles here. -->
         <bean parent="SAML2.SSO" p:checkAddress="false" p:checkInResponseTo="false" />
     </util:list>
@@ -62,7 +56,7 @@
     "Unverified" typically means the SP has no metadata, or equivalent way of assuring the identity and
     legitimacy of an IdP system. To run an "open" SP, you can enable profiles here.
     -->
-    <bean id="shibboleth.UnverifiedRelyingParty" parent="RelyingParty">
+    <bean id="shibboleth.sp.UnverifiedRelyingParty" parent="RelyingParty">
         <property name="profileConfigurations">
             <list>
             <!-- Your profiles here. -->
@@ -72,7 +66,7 @@
 
     <!-- Container for any overrides you want to add, again used for all applications by default. -->
 
-    <util:list id="shibboleth.RelyingPartyOverrides">
+    <util:list id="shibboleth.sp.RelyingPartyOverrides">
     
     </util:list>
 
diff --git a/sp-saml-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/saml-test-agents.xml b/sp-saml-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/saml-test-agents.xml
index 1736b5d..4cfa88e 100644
--- a/sp-saml-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/saml-test-agents.xml
+++ b/sp-saml-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/saml-test-agents.xml
@@ -18,42 +18,34 @@
 
     <import resource="saml-credentials.xml" />
 
-    <bean p:id="testsp.example.org" parent="shibboleth.Agent" p:sharedSecrets="foo">
+    <bean p:id="testsp.example.org" parent="shibboleth.sp.Agent" p:sharedSecrets="foo"
+            p:issuer="https://testsp.example.org">
         <property name="applications">
             <set>
-                <bean p:id="default" parent="shibboleth.Application"
-                    p:issuer="https://testsp.example.org"
-                    p:authenticatingAuthority="https://idp.example.org"
-                    p:profileConfigurations-ref="test.ProfileConfigurations" />
-
-                <bean p:id="feature-blocking" parent="shibboleth.Application"
-                    p:issuer="https://testsp.example.org"
-                    p:authenticatingAuthority="https://idp.example.org"
+                <bean p:id="feature-blocking" parent="shibboleth.sp.Application"
+                    p:issuer="https://testsp.example.org"                
                     p:profileConfigurations-ref="test.featureBlockingProfileConfigurations" />
 
-                <bean p:id="response-binding" parent="shibboleth.Application"
-                    p:issuer="https://testsp.example.org"
-                    p:authenticatingAuthority="https://idp.example.org"
+                <bean p:id="response-binding" parent="shibboleth.sp.Application"
+                    p:issuer="https://testsp.example.org"                
                     p:profileConfigurations-ref="test.responseBindingProfileConfigurations" />
 
-                <bean p:id="no-metadata" parent="shibboleth.Application"
-                    p:issuer="https://testsp.example.org"
+                <bean p:id="no-metadata" parent="shibboleth.sp.Application"
+                    p:issuer="https://testsp.example.org"                
                     p:authenticatingAuthority="https://unknown.example.org"
                     p:profileConfigurations-ref="test.ProfileConfigurations" />
 
-                <bean p:id="no-profile" parent="shibboleth.Application"
-                    p:issuer="https://testsp.example.org"
-                    p:authenticatingAuthority="https://idp.example.org"
+                <bean p:id="no-profile" parent="shibboleth.sp.Application"
+                    p:issuer="https://testsp.example.org"                
                     p:profileConfigurations-ref="test.NoProfileConfigurations" />
 
-                <bean p:id="no-endpoint" parent="shibboleth.Application"
-                    p:issuer="https://testsp.example.org"
+                <bean p:id="no-endpoint" parent="shibboleth.sp.Application"
+                    p:issuer="https://testsp.example.org"                
                     p:authenticatingAuthority="https://noendpoint.example.org"
                     p:profileConfigurations-ref="test.ProfileConfigurations" />
                     
-                <bean p:id="no-initiators" parent="shibboleth.Application"
-                    p:issuer="https://testsp.example.org"
-                    p:authenticatingAuthority="https://idp.example.org"
+                <bean p:id="no-initiators" parent="shibboleth.sp.Application"
+                    p:issuer="https://testsp.example.org"                
                     p:profileConfigurations-ref="test.ProfileConfigurations"
                     p:sessionInitiators="#{{}}" />
             </set>
@@ -85,7 +77,7 @@
     
     <!-- Used for all applications by default to provide a baseline for profile settings. -->
 
-    <util:list id="shibboleth.DefaultProfileConfigurations">
+    <util:list id="shibboleth.sp.DefaultProfileConfigurations">
         <!-- Your profiles here. -->
         <ref bean="SAML2.SSO" />
     </util:list>
@@ -105,7 +97,7 @@
     "Unverified" typically means the SP has no metadata, or equivalent way of assuring the identity and
     legitimacy of an IdP system. To run an "open" SP, you can enable profiles here.
     -->
-    <bean id="shibboleth.UnverifiedRelyingParty" parent="RelyingParty">
+    <bean id="shibboleth.sp.UnverifiedRelyingParty" parent="RelyingParty">
         <property name="profileConfigurations">
             <list>
             <!-- Your profiles here. -->
@@ -115,7 +107,7 @@
 
     <!-- Container for any overrides you want to add, again used for all applications by default. -->
 
-    <util:list id="shibboleth.RelyingPartyOverrides">
+    <util:list id="shibboleth.sp.RelyingPartyOverrides">
     
     </util:list>
 
diff --git a/sp-saml-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/sp.properties b/sp-saml-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/sp.properties
index 85c27d1..fcabcbb 100644
--- a/sp-saml-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/sp.properties
+++ b/sp-saml-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/sp.properties
@@ -6,7 +6,7 @@ sp.defaultAuthority = https://idp.example.org
 
 # Controls configuration of service to resolve SP agents and applications
 # Uncomment and define to override service resources
-#sp.service.agents.resources = shibboleth.AgentResolverResources
+#sp.service.agents.resources = shibboleth.sp.AgentResolverResources
 #sp.service.agents.failFast = false
 sp.service.agents.checkInterval = PT5M
 
@@ -39,8 +39,8 @@ sp.application.tokenConsumers = saml2/artifact, saml2/post, saml2/post-simplesig
 #sp.cookie.limit = 10
 
 # Default state token management (SAML RelayState, etc.)
-# Set to shibboleth.CookieStateTokenManager to switch to cookie-based mechanism
-#sp.stateToken.Manager = shibboleth.StorageStateTokenManager
+# Set to shibboleth.sp.CookieStateTokenManager to switch to cookie-based mechanism
+#sp.stateToken.Manager = shibboleth.sp.StorageStateTokenManager
 # Controls storage back-end for storage-based state tokens
 #sp.stateToken.StorageService = shibboleth.StorageService
 # Cookie prefix when using cookie-backed state

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


More information about the commits mailing list