[java-plugin-shibd-oidc] branch main updated: Temporary fix of provider metadata service

Phil Smart philip.smart at jisc.ac.uk
Fri Aug 15 14:05:19 UTC 2025


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

philsmart pushed a commit to branch main
in repository java-plugin-shibd-oidc.

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

The following commit(s) were added to refs/heads/main by this push:
     new f31859a  Temporary fix of provider metadata service
f31859a is described below

commit f31859a15036317836b3675c2fc29333f77222aa
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Fri Aug 15 15:05:17 2025 +0100

    Temporary fix of provider metadata service
---
 .../META-INF/net.shibboleth.idp/postconfig.xml     | 14 ++--
 .../idp/flows/sp/initiator/oidc/oidc-beans.xml     |  9 ++-
 .../module/conf/oidc-metadata-providers-system.xml | 87 ++++++++++++++++++++++
 .../idp/module/conf/sp/oidc-test-agents.xml        |  2 +-
 4 files changed, 102 insertions(+), 10 deletions(-)

diff --git a/sp-oidc-conf-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml b/sp-oidc-conf-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml
index ea55793..a6eb653 100644
--- a/sp-oidc-conf-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml
+++ b/sp-oidc-conf-impl/src/main/resources/META-INF/net.shibboleth.idp/postconfig.xml
@@ -17,9 +17,9 @@
     <!-- OpenID Provider information resolver service beans. -->
     <bean id="shibboleth.authn.oidc.rp.ProviderMetadataResolver"
         class="net.shibboleth.oidc.metadata.impl.ReloadingProviderMetadataProvider"
-        c:resolverService-ref="shibboleth.authn.oidc.rp.ProviderMetadataResolverService" />
+        c:resolverService-ref="shibboleth.ProviderMetadataResolverService" />
 
-    <bean id="shibboleth.authn.oidc.rp.ProviderMetadataResolverService"
+    <bean id="shibboleth.ProviderMetadataResolverService"
         class="net.shibboleth.shared.spring.service.ReloadableSpringService"
         p:serviceConfigurations-ref="ExtendedProviderMetadataResolverResources"
         p:failFast="%{idp.service.providermetadata.failFast:%{idp.service.failFast:false}}"
@@ -33,9 +33,10 @@
         </constructor-arg>
     </bean>
 
-    <util:list id="shibboleth.DefaultProviderMetadataResolverResources">
-        <value>conditional:%{idp.home}/conf/authn/oidc-rp-providermetadata-resolvers.xml</value>
-    </util:list>
+<!--     <util:list id="shibboleth.DefaultProviderMetadataResolverResources">
+        <value>conditional:%{idp.home}/conf/authn/oidc-metadata-providers.xml</value>
+    </util:list> -->
+    
     <!-- Auto-append system config file to resource set. -->
     <bean id="ExtendedProviderMetadataResolverResources"
         class="net.shibboleth.shared.spring.factory.CombiningListFactoryBean"
@@ -43,8 +44,7 @@
                 getObject('shibboleth.DefaultProviderMetadataResolverResources')}">
         <property name="secondList">
             <util:list>
-                <value>classpath:/net/shibboleth/idp/plugin/authn/oidc/rp/conf/authn/providermetadata-resolver-system.xml
-                </value>
+                <value>classpath:/net/shibboleth/idp/module/conf/oidc-metadata-providers-system.xml</value>
             </util:list>
         </property>
     </bean>
diff --git a/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/oidc/oidc-beans.xml b/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/oidc/oidc-beans.xml
index ec603e5..29a167c 100644
--- a/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/oidc/oidc-beans.xml
+++ b/sp-oidc-conf-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/sp/initiator/oidc/oidc-beans.xml
@@ -8,6 +8,12 @@
     default-init-method="initialize" default-destroy-method="destroy">
     
     
+    <!-- Some of these are common beans -->
+        <bean id="WebFlowInboundMessageHandlerAdaptor"
+        class="net.shibboleth.idp.profile.impl.WebFlowMessageHandlerAdaptor" scope="prototype" abstract="true"
+        c:executionDirection="INBOUND" />
+    <!-- end -->
+    
     
     <bean id="ValidateSessionInitiatorRequest"
         class="net.shibboleth.sp.profile.impl.ValidateSessionInitiatorRequest" scope="prototype"
@@ -22,8 +28,7 @@
         p:identifierLookupStrategy-ref="shibboleth.RelyingPartyIdLookup.Simple">
     </bean>
     
-    <bean id="OIDCProviderMetadataLookup" parent="WebFlowMessageHandlerAdaptor" scope="prototype"
-        c:executionDirection="INBOUND">
+    <bean id="OIDCProviderMetadataLookup" parent="WebFlowInboundMessageHandlerAdaptor">
         <constructor-arg name="messageHandler"> <!-- TODO Copied over -->
             <bean class="net.shibboleth.sp.oidc.metadata.impl.OIDCProviderMetadataLookupHandler"
                 scope="prototype">
diff --git a/sp-oidc-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/oidc-metadata-providers-system.xml b/sp-oidc-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/oidc-metadata-providers-system.xml
new file mode 100644
index 0000000..96e7c81
--- /dev/null
+++ b/sp-oidc-conf-impl/src/main/resources/net/shibboleth/idp/module/conf/oidc-metadata-providers-system.xml
@@ -0,0 +1,87 @@
+<?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" default-lazy-init="true">
+
+    <!-- Loaded by the postconfig.xml file as global beans -->
+
+    <bean id="shibboleth.authn.oidc.rp.ProviderMetadataProvider" lazy-init="false"
+        class="net.shibboleth.oidc.metadata.ProviderMetadataProviderContainer"
+        p:embeddedResolver-ref="shibboleth.authn.oidc.rp.ChainingProviderMetadataResolver">
+    </bean>
+
+    <bean id="shibboleth.authn.oidc.rp.ChainingProviderMetadataResolver"
+        class="net.shibboleth.oidc.metadata.impl.ChainingProviderMetadataResolver" p:id="InternalEmbeddedChainResolver"
+        p:resolvers="#{getObject('shibboleth.authn.oidc.rp.ProviderMetadataResolvers')}" />
+
+    <!-- abstract beans for the user space config to extend -->
+    <bean id="shibboleth.authn.oidc.rp.OIDCProviderMetadataResolver" abstract="true"
+        class="net.shibboleth.oidc.metadata.impl.OIDCProviderMetadataResolver" />
+
+    <bean id="shibboleth.authn.oidc.rp.DefaultHTTPProviderConfigurationMetadataFetchingStrategy"
+        class="net.shibboleth.oidc.metadata.impl.HTTPProviderConfigurationFetchingStrategy"        
+        c:client-ref="shibboleth.InternalHttpClient"
+        c:handler-ref="shibboleth.authn.oidc.rp.DefaultHTTProviderConfigurationMetadataResponseHandler" 
+        p:wellKnownLocationCompositionStrategy="#{getObject('shibboleth.authn.oidc.rp.WellKnownLocationCompositionStrategy')}"/>
+
+
+    <bean id="shibboleth.authn.oidc.rp.DefaultHTTProviderConfigurationMetadataResponseHandler"
+        class="net.shibboleth.oidc.metadata.impl.HTTPProviderConfigurationFetchingStrategy.OIDCProviderMetadataResponseHandler" />
+
+    <!-- Cache builder specifications -->
+    <bean id="cacheFactory" class="net.shibboleth.oidc.metadata.cache.impl.MetadataCacheBuilder$Builder"/>
+    
+    <bean id="shibboleth.authn.oidc.rp.CacheBuilder" factory-bean="cacheFactory" factory-method="build"
+        abstract="true"/>
+    
+    
+    <bean class="net.shibboleth.oidc.metadata.cache.impl.BatchMetadataCacheBuilderSpec" 
+        id="shibboleth.authn.oidc.rp.BaseProviderBatchCacheBuilderSpec" abstract="true" 
+        p:parsingStrategy-ref="shibboleth.authn.oidc.rp.DefaultOIDCProviderMetadataParsingStrategy"
+        p:criteriaToIdentifierStrategy-ref="shibboleth.authn.oidc.rp.DefaultOIDCProviderMetadataCriteriaToIdentifierStrategy"
+        p:sourceMetadataExpiryStrategy-ref="shibboleth.authn.oidc.rp.DefaultODICProviderSourceMetadataExpirationTimeStrategy"
+        p:identifierExtractionStrategy-ref="shibboleth.authn.oidc.rp.DefaultOIDCProviderMetadataIdentifierExtractionStrategy"/>
+         
+    <bean class="net.shibboleth.oidc.metadata.cache.impl.DynamicMetadataCacheBuilderSpec" 
+        id="shibboleth.authn.oidc.rp.BaseProviderDynamicCacheBuilderSpec" abstract="true"        
+        p:fetchStrategy-ref="shibboleth.authn.oidc.rp.DefaultHTTPProviderConfigurationMetadataFetchingStrategy" 
+        p:criteriaToIdentifierStrategy-ref="shibboleth.authn.oidc.rp.DefaultOIDCProviderMetadataCriteriaToIdentifierStrategy" 
+        p:metadataExpirationTimeStrategy-ref="shibboleth.authn.oidc.rp.DefaultODICProviderMetadataExpirationTimeStrategy" 
+        p:identifierExtractionStrategy-ref="shibboleth.authn.oidc.rp.DefaultOIDCProviderMetadataIdentifierExtractionStrategy" 
+       />
+
+
+    <!-- Common parents for cache strategy implementations -->
+    
+    <bean id="shibboleth.authn.oidc.rp.ProviderConfigurationMetadataFileLoadingStrategy"
+        class="net.shibboleth.oidc.metadata.cache.impl.DefaultFileLoadingStrategy" abstract="true"/>
+    
+    <!-- Common implementation strategies for cache implementations -->
+   
+    <bean id="shibboleth.authn.oidc.rp.DefaultOIDCProviderMetadataParsingStrategy" scope="prototype"
+        class="net.shibboleth.oidc.metadata.cache.impl.DefaultOIDCProviderMetadataParsingStrategy" />
+        
+    <bean id="shibboleth.authn.oidc.rp.DefaultMapParsingStrategy" scope="prototype"
+        class="net.shibboleth.oidc.metadata.cache.impl.DefaultJSONMapParsingStrategy" />
+
+    <bean id="shibboleth.authn.oidc.rp.DefaultODICProviderMetadataExpirationTimeStrategy" scope="prototype"
+        class="net.shibboleth.oidc.metadata.cache.impl.DefaultOIDCProviderMetadataExpirationTimeStrategy"/>
+    
+    <bean id="shibboleth.authn.oidc.rp.DefaultODICProviderSourceMetadataExpirationTimeStrategy" scope="prototype"
+        class="net.shibboleth.oidc.metadata.cache.impl.DefaultSourceMetadataExpirationTimeStrategy"
+        c:duration="PT10M" />
+
+    <bean id="shibboleth.authn.oidc.rp.DefaultOIDCProviderMetadataIdentifierExtractionStrategy" scope="prototype"
+        class="net.shibboleth.oidc.metadata.cache.impl.DefaultOIDCProviderMetadataIdentifierExtractionStrategy" />
+
+    <bean id="shibboleth.authn.oidc.rp.DefaultOIDCProviderMetadataCriteriaToIdentifierStrategy" scope="prototype"
+        class="net.shibboleth.oidc.metadata.cache.impl.DefaultOIDCProviderMetadataCriteriaToIdentifierStrategy" />
+
+
+</beans>
diff --git a/sp-oidc-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/oidc-test-agents.xml b/sp-oidc-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/oidc-test-agents.xml
index b70c8b2..c485d43 100644
--- a/sp-oidc-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/oidc-test-agents.xml
+++ b/sp-oidc-conf-impl/src/test/resources/net/shibboleth/idp/module/conf/sp/oidc-test-agents.xml
@@ -25,7 +25,7 @@
                     p:issuer="https://testsp.example.org"
                     p:authenticatingAuthority="https://op.example.org"
                     p:profileConfigurations-ref="test.ProfileConfigurations" 
-                    p:metadataResolver-ref="shibboleth.authn.oidc.rp.ProviderMetadataResolver"/>
+                    p:metadataResolver-ref="shibboleth.ProviderMetadataResolverService"/>
 
 <!--                 <bean p:id="feature-blocking" parent="shibboleth.Application"
                     p:issuer="https://testsp.example.org"

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


More information about the commits mailing list