[java-identity-provider] branch main updated: IDP-1652 - Redesign handling of lists of descriptors

Scott Cantor cantor.2 at osu.edu
Wed Aug 19 15:33:46 UTC 2020


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

scantor pushed a commit to branch main
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=8df0d01c0ed1b6dcad698489c020d730c3bb77d3

The following commit(s) were added to refs/heads/main by this push:
       new  8df0d01c0 IDP-1652 - Redesign handling of lists of descriptors
8df0d01c0 is described below

commit 8df0d01c0ed1b6dcad698489c020d730c3bb77d3
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Aug 19 11:33:36 2020 -0400

    IDP-1652 - Redesign handling of lists of descriptors
    
    https://issues.shibboleth.net/jira/browse/IDP-1652
    
    Eliminate profile-intercept.xml in most cases.
---
 .../idp/conf/profile-intercept-system.xml          | 35 ++++++++++-------
 .../resources/conf/intercept/profile-intercept.xml | 44 ----------------------
 2 files changed, 21 insertions(+), 58 deletions(-)

diff --git a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/profile-intercept-system.xml b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/profile-intercept-system.xml
index d32f1621c..e22f91a28 100644
--- a/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/profile-intercept-system.xml
+++ b/idp-conf-impl/src/main/resources/net/shibboleth/idp/conf/profile-intercept-system.xml
@@ -12,7 +12,7 @@
        default-init-method="initialize"
        default-destroy-method="destroy">
 
-    <import resource="${idp.home}/conf/intercept/profile-intercept.xml" />
+    <import resource="conditional:${idp.home}/conf/intercept/profile-intercept.xml" />
 
     <!-- Management bean to collect and expose AuthenticationFlowDescriptors. -->
     
@@ -20,24 +20,31 @@
         class="net.shibboleth.idp.profile.interceptor.impl.ProfileInterceptorFlowDescriptorManager"
         p:components="#{getObject('shibboleth.AvailableInterceptFlows')}" />
 
+    <!-- Internal flow descriptors with defaulted settings. -->
+    <bean p:id="intercept/security-policy/shibboleth-sso" parent="shibboleth.InterceptFlow" />
+    <bean p:id="intercept/security-policy/saml2-sso" parent="shibboleth.InterceptFlow" />
+    <bean p:id="intercept/security-policy/saml2-ecp" parent="shibboleth.InterceptFlow" />
+    <bean p:id="intercept/security-policy/saml2-slo" parent="shibboleth.InterceptFlow" />
+    <bean p:id="intercept/security-policy/saml2-idwsf-ssos" parent="shibboleth.InterceptFlow" />
+    <bean p:id="intercept/security-policy/saml-soap" parent="shibboleth.InterceptFlow" />
+    <bean p:id="intercept/context-check" parent="shibboleth.InterceptFlow" />
+    <bean p:id="intercept/expiring-password" parent="shibboleth.InterceptFlow" />
+    <bean p:id="intercept/impersonate" parent="shibboleth.InterceptFlow" />
+    <bean p:id="intercept/external" parent="shibboleth.InterceptFlow" />
+    <bean p:id="intercept/warning" parent="shibboleth.InterceptFlow" />    
+    <bean p:id="intercept/terms-of-use" parent="shibboleth.consent.TermsOfUseFlow" />
+    <bean p:id="intercept/attribute-release" parent="shibboleth.consent.AttributeReleaseFlow" />
+
     <!-- Parent bean for intercept interceptor flows. -->
     <bean id="shibboleth.InterceptFlow" abstract="true"
         class="net.shibboleth.idp.profile.interceptor.ProfileInterceptorFlowDescriptor" />
 
-    <!-- Parent bean defining built-in interceptors used for SAML security policy handling. -->
+    <!--
+    Parent bean defining built-in interceptors, it's now solely for backward compatibility
+    with the old conf/profile-intercept.xml list merging approach. May be removed at some point.
+    -->
     <bean id="shibboleth.DefaultInterceptFlows"
-            class="org.springframework.beans.factory.config.ListFactoryBean" abstract="true">
-        <property name="sourceList">
-            <list>
-                <bean id="intercept/security-policy/shibboleth-sso" parent="shibboleth.InterceptFlow" />
-                <bean id="intercept/security-policy/saml2-sso" parent="shibboleth.InterceptFlow" />
-                <bean id="intercept/security-policy/saml2-ecp" parent="shibboleth.InterceptFlow" />
-                <bean id="intercept/security-policy/saml2-slo" parent="shibboleth.InterceptFlow" />
-                <bean id="intercept/security-policy/saml2-idwsf-ssos" parent="shibboleth.InterceptFlow" />
-                <bean id="intercept/security-policy/saml-soap" parent="shibboleth.InterceptFlow" />
-            </list>
-        </property>
-    </bean>
+        class="org.springframework.beans.factory.config.ListFactoryBean" abstract="true" />
 
     <!-- Parent bean for attribute release consent flows. -->
     <bean id="shibboleth.consent.AttributeReleaseFlow" abstract="true"
diff --git a/idp-conf/src/main/resources/conf/intercept/profile-intercept.xml b/idp-conf/src/main/resources/conf/intercept/profile-intercept.xml
deleted file mode 100644
index 706bbf2ec..000000000
--- a/idp-conf/src/main/resources/conf/intercept/profile-intercept.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:util="http://www.springframework.org/schema/util"
-       xmlns:p="http://www.springframework.org/schema/p"
-       xmlns:c="http://www.springframework.org/schema/c"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
-                           http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-                           
-       default-init-method="initialize"
-       default-destroy-method="destroy">
-
-    <!--
-    Intercept flows are used at various injection points to modify processing. This is the overall list
-    of flows available that provide interesting features to deployers, but flows are actually enabled by
-    specifying them in various profile configuration beans via relying-party.xml 
-    
-    This list of flows is merged with a built-in set defined in a system configuration file, and may be
-    empty, but should not be removed. You must add your own custom flows to this list if you create any.
-    -->
-    
-    <bean id="shibboleth.AvailableInterceptFlows" parent="shibboleth.DefaultInterceptFlows" lazy-init="true">
-        <property name="sourceList">
-            <list merge="true">
-                <bean id="intercept/context-check" parent="shibboleth.InterceptFlow" />
-                
-                <bean id="intercept/expiring-password" parent="shibboleth.InterceptFlow" />
-        
-                <bean id="intercept/terms-of-use" parent="shibboleth.consent.TermsOfUseFlow" />
-        
-                <bean id="intercept/attribute-release" parent="shibboleth.consent.AttributeReleaseFlow" />
-                
-                <bean id="intercept/impersonate" parent="shibboleth.InterceptFlow" />
-                
-                <bean id="intercept/external" parent="shibboleth.InterceptFlow" />
-                
-                <bean id="intercept/warning" parent="shibboleth.InterceptFlow" />
-            </list>
-        </property>
-    </bean>
-
-</beans>

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


More information about the commits mailing list