[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