[java-idp-oidc] branch main updated: JOIDC-151 - Use Suppliers for HttpServletRequest/Response

Henri Mikkonen henri.mikkonen at iki.fi
Tue Apr 25 13:26:59 UTC 2023


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

hjmikkon pushed a commit to branch main
in repository java-idp-oidc.

View the commit online:
http://git.shibboleth.net/view/?p=java-idp-oidc.git;a=commit;h=15da1760906b6fe2b125970459ad2ba0a286964e

The following commit(s) were added to refs/heads/main by this push:
     new 15da1760 JOIDC-151 - Use Suppliers for HttpServletRequest/Response
15da1760 is described below

commit 15da1760906b6fe2b125970459ad2ba0a286964e
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Tue Apr 25 16:25:16 2023 +0300

    JOIDC-151 - Use Suppliers for HttpServletRequest/Response
    
    https://shibboleth.atlassian.net/browse/JOIDC-151
    
    The temporary global beans 'shibboleth.oidc.internal.HttpServletRequest' and
    'shibboleth.oidc.internal.HttpServletResponse' are no longer used by the OP
    itself.
---
 .../idp/flows/admin/oidc/clients/clients-beans.xml     |  8 ++++----
 .../issue-registration-access-token-beans.xml          | 12 ++++++------
 .../flows/authn/OAuth2Client/OAuth2Client-beans.xml    |  2 +-
 .../flows/oauth2/introspection/introspection-beans.xml |  4 ++--
 .../idp/flows/oauth2/revocation/revocation-beans.xml   |  4 ++--
 .../abstract-api-info/oidc-abstract-api-info-beans.xml |  2 +-
 .../idp/flows/oidc/abstract/oidc-abstract-beans.xml    |  6 +++---
 .../idp/flows/oidc/authorize/authorize-beans.xml       | 12 ++++++------
 .../flows/oidc/configuration/configuration-beans.xml   |  2 +-
 .../idp/flows/oidc/register/register-beans.xml         |  8 ++++----
 .../shibboleth/idp/flows/oidc/token/token-beans.xml    |  4 ++--
 .../idp/flows/oidc/userinfo/userinfo-beans.xml         |  4 ++--
 .../idp/service/relying-party/postconfig.xml           |  4 ++--
 .../admin/impl/IssueRegistrationAccessTokenTest.java   | 11 +++++++++--
 .../impl/OIDCAuthenticationRequestDecoderTest.java     |  8 +++++++-
 .../impl/OIDCClientRegistrationRequestDecoderTest.java |  8 +++++++-
 .../op/decoding/impl/OIDCTokenRequestDecoderTest.java  |  8 +++++++-
 .../decoding/impl/OIDCUserInfoRequestDecoderTest.java  |  8 +++++++-
 .../impl/OAuth2RevocationRequestDecoderTest.java       |  8 +++++++-
 .../impl/FormOutboundDiscoveryResponseTest.java        | 18 ++++++++++++++++--
 ...ReloadProviderResolverServiceConfigurationTest.java |  5 ++++-
 21 files changed, 100 insertions(+), 46 deletions(-)

diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/oidc/clients/clients-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/oidc/clients/clients-beans.xml
index 70acc236..8fcc0575 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/oidc/clients/clients-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/oidc/clients/clients-beans.xml
@@ -22,8 +22,8 @@
 
     <bean id="shibboleth.AdminOperationLookupStrategy" parent="shibboleth.ContextFunctions.Expression"
         c:outputType="#{T(java.lang.String)}"
-        c:expression="#custom.getMethod()"
-        p:customObject-ref="shibboleth.oidc.internal.HttpServletRequest" />
+        c:expression="#custom.get().getMethod()"
+        p:customObject-ref="shibboleth.HttpServletRequestSupplier" />
         
     <bean id="shibboleth.AdminResourceLookupStrategy" parent="shibboleth.ContextFunctions.Expression"
         c:outputType="#{T(java.lang.String)}"
@@ -33,8 +33,8 @@
     
     <bean id="DoClientManagementOperation"
         class="net.shibboleth.idp.plugin.oidc.op.admin.impl.DoClientManagementOperation" scope="prototype"
-        p:httpServletRequest-ref="shibboleth.oidc.internal.HttpServletRequest"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse"
+        p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier"
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier"
         p:objectMapper-ref="shibboleth.JSONObjectMapper"
         p:clientInformationResolver-ref="shibboleth.ClientInformationResolver"
         p:clientInformationManager-ref="#{'%{idp.oidc.dynreg.clientInformationManager:shibboleth.oidc.ClientInformationManager}'.trim()}" />
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/oidc/issue-registration-access-token/issue-registration-access-token-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/oidc/issue-registration-access-token/issue-registration-access-token-beans.xml
index 7b0788f5..bf2ecae0 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/oidc/issue-registration-access-token/issue-registration-access-token-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/admin/oidc/issue-registration-access-token/issue-registration-access-token-beans.xml
@@ -30,8 +30,8 @@
 
     <bean id="IssueRegistrationAccessToken"
         class="net.shibboleth.idp.plugin.oidc.op.admin.impl.IssueRegistrationAccessToken" scope="prototype"
-        p:httpServletRequest-ref="shibboleth.oidc.internal.HttpServletRequest"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse"
+        p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier"
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier"
         p:sealer-ref="#{'%{idp.oidc.dynreg.tokenSealer:shibboleth.oidc.TokenSealer}'.trim()}"
         p:objectMapper-ref="shibboleth.oidc.JSONObjectMapper"
         p:accessControlService-ref="shibboleth.AccessControlService"
@@ -77,8 +77,8 @@
         </constructor-arg>
         <constructor-arg name="f">
             <bean parent="shibboleth.Functions.Expression"
-                p:customObject-ref="shibboleth.oidc.internal.HttpServletRequest"
-                c:expression="#custom.getAttribute('opensamlProfileRequestContext')" />
+                p:customObject-ref="shibboleth.HttpServletRequestSupplier"
+                c:expression="#custom.get().getAttribute('opensamlProfileRequestContext')" />
         </constructor-arg>
     </bean>
     
@@ -103,11 +103,11 @@
         p:messageEncoder-ref="oidc.nimbusEncoder" scope="prototype" />
 
     <bean id="oidc.nimbusEncoder" class="net.shibboleth.idp.plugin.oidc.op.encoding.impl.NimbusResponseEncoder"
-        scope="prototype" p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse" init-method=""
+        scope="prototype" p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier" init-method=""
         p:velocityEngine-ref="shibboleth.VelocityEngine" />
 
     <bean id="EncodeMessage" class="org.opensaml.profile.action.impl.EncodeMessage" scope="prototype"
         p:messageEncoderFactory-ref="oidc.messageEncoderFactory"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse" />
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier" />
 
 </beans>
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/OAuth2Client/OAuth2Client-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/OAuth2Client/OAuth2Client-beans.xml
index 58291c28..6c4853e6 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/OAuth2Client/OAuth2Client-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/authn/OAuth2Client/OAuth2Client-beans.xml
@@ -31,7 +31,7 @@
 
     <bean id="ExtractClientAuthenticationFromRequest"
         class="net.shibboleth.idp.plugin.oidc.op.authn.impl.ExtractClientAuthenticationFromRequest" scope="prototype"
-        p:httpServletRequest-ref="shibboleth.oidc.internal.HttpServletRequest" />
+        p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier" />
 
     <bean id="PopulateTokenEndpointJwtSignatureValidationParameters"
             class="net.shibboleth.oidc.profile.impl.PopulateJWTSignatureValidationParameters"
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oauth2/introspection/introspection-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oauth2/introspection/introspection-beans.xml
index d60687da..dac894d0 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oauth2/introspection/introspection-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oauth2/introspection/introspection-beans.xml
@@ -15,7 +15,7 @@
     <bean id="DecodeMessage" class="org.opensaml.profile.action.impl.DecodeMessage" scope="prototype">
         <constructor-arg>
             <bean class="net.shibboleth.idp.plugin.oidc.op.oauth2.decoding.impl.OAuth2IntrospectionRequestDecoder"
-                scope="prototype" p:httpServletRequest-ref="shibboleth.oidc.internal.HttpServletRequest"
+                scope="prototype" p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier"
                 p:removeIpAddressFromEndpointUri="%{idp.oidc.logging.removeIpAddressFromProtocolMessage:false}"/>
         </constructor-arg>
     </bean>
@@ -43,7 +43,7 @@
     <bean id="BuildErrorResponseFromEvent"
         class="net.shibboleth.idp.plugin.oidc.op.oauth2.profile.impl.BuildIntrospectionErrorResponseFromEvent"
         scope="prototype"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse"
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier"
         p:mappedErrors="#{getObject('shibboleth.oauth2.introspection.MappedErrors') ?: getObject('shibboleth.oidc.DefaultApiMappedErrors')}">
         <property name="eventContextLookupStrategy">
             <bean class="net.shibboleth.idp.profile.context.navigate.WebFlowCurrentEventLookupFunction" />
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oauth2/revocation/revocation-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oauth2/revocation/revocation-beans.xml
index 4295f8e3..86257819 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oauth2/revocation/revocation-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oauth2/revocation/revocation-beans.xml
@@ -15,7 +15,7 @@
     <bean id="DecodeMessage" class="org.opensaml.profile.action.impl.DecodeMessage" scope="prototype">
         <constructor-arg>
             <bean class="net.shibboleth.idp.plugin.oidc.op.oauth2.decoding.impl.OAuth2RevocationRequestDecoder"
-                scope="prototype" p:httpServletRequest-ref="shibboleth.oidc.internal.HttpServletRequest"
+                scope="prototype" p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier"
                 p:removeIpAddressFromEndpointUri="%{idp.oidc.logging.removeIpAddressFromProtocolMessage:false}"/>
         </constructor-arg>
     </bean>
@@ -55,7 +55,7 @@
     <bean id="BuildErrorResponseFromEvent"
         class="net.shibboleth.idp.plugin.oidc.op.oauth2.profile.impl.BuildRevokeTokenErrorResponseFromEvent" 
         scope="prototype"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse"
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier"
         p:mappedErrors="#{getObject('shibboleth.oauth2.revocation.MappedErrors') ?: getObject('shibboleth.oidc.DefaultApiMappedErrors')}">
         <property name="eventContextLookupStrategy">
             <bean class="net.shibboleth.idp.profile.context.navigate.WebFlowCurrentEventLookupFunction" />
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/abstract-api-info/oidc-abstract-api-info-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/abstract-api-info/oidc-abstract-api-info-beans.xml
index a2b1c591..885838cf 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/abstract-api-info/oidc-abstract-api-info-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/abstract-api-info/oidc-abstract-api-info-beans.xml
@@ -16,7 +16,7 @@
     <bean id="BuildErrorResponseFromEvent"
         class="net.shibboleth.idp.plugin.oidc.op.profile.impl.BuildJSONErrorResponseFromEvent" scope="prototype"
         p:defaultStatusCode="500" p:defaultCode="server_error"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse">
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier">
         <property name="eventContextLookupStrategy">
             <bean class="net.shibboleth.idp.profile.context.navigate.WebFlowCurrentEventLookupFunction" />
         </property>
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/abstract/oidc-abstract-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/abstract/oidc-abstract-beans.xml
index 27113834..3827b946 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/abstract/oidc-abstract-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/abstract/oidc-abstract-beans.xml
@@ -59,12 +59,12 @@
         p:messageEncoder-ref="oidc.nimbusEncoder" scope="prototype" />
 
     <bean id="oidc.nimbusEncoder" class="net.shibboleth.idp.plugin.oidc.op.encoding.impl.NimbusResponseEncoder"
-        scope="prototype" p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse" init-method=""
+        scope="prototype" p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier" init-method=""
         p:velocityEngine-ref="shibboleth.VelocityEngine" />
 
     <bean id="EncodeMessage" class="org.opensaml.profile.action.impl.EncodeMessage" scope="prototype"
         p:messageEncoderFactory-ref="oidc.messageEncoderFactory"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse" />
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier" />
 
     <bean id="RecordResponseComplete" class="net.shibboleth.idp.profile.impl.RecordResponseComplete"
         scope="prototype" />
@@ -89,7 +89,7 @@
         p:formattingMap-ref="shibboleth.AuditFormattingMap"
         p:dateTimeFormat="#{getObject('shibboleth.AuditDateTimeFormat')}"
         p:useDefaultTimeZone="#{getObject('shibboleth.AuditDefaultTimeZone') ?: false}"
-        p:httpServletRequest-ref="shibboleth.oidc.internal.HttpServletRequest" />
+        p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier" />
     
     <bean id="PopulateMetricContext"
         class="org.opensaml.profile.action.impl.PopulateMetricContext" scope="prototype"
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/authorize/authorize-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/authorize/authorize-beans.xml
index 35592408..99003359 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/authorize/authorize-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/authorize/authorize-beans.xml
@@ -17,7 +17,7 @@
     <bean id="DecodeOIDCMessage" class="org.opensaml.profile.action.impl.DecodeMessage" scope="prototype">
         <constructor-arg>
             <bean class="net.shibboleth.idp.plugin.oidc.op.decoding.impl.OIDCAuthenticationRequestDecoder"
-                scope="prototype" p:httpServletRequest-ref="shibboleth.oidc.internal.HttpServletRequest"
+                scope="prototype" p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier"
                 p:removeIpAddressFromEndpointUri="%{idp.oidc.logging.removeIpAddressFromProtocolMessage:false}"/>
         </constructor-arg>
     </bean>
@@ -25,7 +25,7 @@
     <bean id="DecodeOAuthMessage" class="org.opensaml.profile.action.impl.DecodeMessage" scope="prototype">
         <constructor-arg>
             <bean class="net.shibboleth.idp.plugin.oidc.op.oauth2.decoding.impl.OAuth2AuthorizationRequestDecoder"
-                scope="prototype" p:httpServletRequest-ref="shibboleth.oidc.internal.HttpServletRequest"
+                scope="prototype" p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier"
                 p:removeIpAddressFromEndpointUri="%{idp.oidc.logging.removeIpAddressFromProtocolMessage:false}"/>
         </constructor-arg>
     </bean>
@@ -41,7 +41,7 @@
         class="net.shibboleth.idp.plugin.oidc.op.profile.impl.ProcessRequestedAuthnContext" scope="prototype" />
 
     <bean id="PopulateUserAgentContext" class="net.shibboleth.idp.profile.impl.PopulateUserAgentContext"
-        scope="prototype" p:httpServletRequest-ref="shibboleth.oidc.internal.HttpServletRequest" />
+        scope="prototype" p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier" />
 
     <bean id="shibboleth.ClientIDLookupStrategy"
         class="net.shibboleth.idp.plugin.oidc.op.profile.context.navigate.DefaultClientIDLookupFunction"
@@ -883,7 +883,7 @@
 
     <bean id="BuildErrorResponseFromEvent"
         class="net.shibboleth.idp.plugin.oidc.op.profile.impl.BuildAuthenticationErrorResponseFromEvent" scope="prototype"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse"
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier"
         p:mappedErrors="#{getObject('shibboleth.oidc.authorize.MappedErrors') ?: getObject('shibboleth.oidc.authorize.DefaultMappedErrors')}">
         <property name="eventContextLookupStrategy">
             <bean class="net.shibboleth.idp.profile.context.navigate.WebFlowCurrentEventLookupFunction" />
@@ -920,10 +920,10 @@
         </constructor-arg>
     </bean>
 
-    <bean id="ScopeContainsOpenid" parent="shibboleth.Conditions.Expression" p:customObject-ref="shibboleth.oidc.internal.HttpServletRequest">
+    <bean id="ScopeContainsOpenid" parent="shibboleth.Conditions.Expression" p:customObject-ref="shibboleth.HttpServletRequestSupplier">
         <constructor-arg>
             <value>
-                #custom.getParameter('scope') != null and #custom.getParameter('scope').contains('openid')
+                #custom.get().getParameter('scope') != null and #custom.get().getParameter('scope').contains('openid')
             </value>
         </constructor-arg>
     </bean>
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/configuration/configuration-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/configuration/configuration-beans.xml
index af34dab0..3690fdd0 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/configuration/configuration-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/configuration/configuration-beans.xml
@@ -16,7 +16,7 @@
     <bean id="BuildErrorResponseFromEvent"
         class="net.shibboleth.idp.plugin.oidc.op.profile.impl.BuildJSONErrorResponseFromEvent" scope="prototype"
         p:defaultStatusCode="500" p:defaultCode="server_error"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse">
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier">
         <property name="eventContextLookupStrategy">
             <bean class="net.shibboleth.idp.profile.context.navigate.WebFlowCurrentEventLookupFunction" />
         </property>
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/register/register-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/register/register-beans.xml
index 89f37f79..7ebd8657 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/register/register-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/register/register-beans.xml
@@ -26,7 +26,7 @@
             <bean
                 class="net.shibboleth.idp.plugin.oidc.op.decoding.impl.OIDCClientRegistrationRequestDecoder"
                 scope="prototype"
-                p:httpServletRequest-ref="shibboleth.oidc.internal.HttpServletRequest"
+                p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier"
                 p:removeIpAddressFromEndpointUri="%{idp.oidc.logging.removeIpAddressFromProtocolMessage:false}"/>
         </constructor-arg>
     </bean>
@@ -168,7 +168,7 @@
     <bean id="BuildErrorResponseFromEvent"
         class="net.shibboleth.idp.plugin.oidc.op.profile.impl.BuildRegistrationErrorResponseFromEvent"
         scope="prototype"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse"
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier"
         p:mappedErrors="#{getObject('shibboleth.oidc.register.MappedErrors') ?: getObject('shibboleth.oidc.register.DefaultMappedErrors')}">
         <property name="eventContextLookupStrategy">
             <bean
@@ -187,14 +187,14 @@
     <bean id="oidc.nimbusEncoder"
         class="net.shibboleth.idp.plugin.oidc.op.encoding.impl.NimbusResponseEncoder"
         scope="prototype"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse"
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier"
         init-method="" />
 
     <bean id="EncodeMessage"
         class="org.opensaml.profile.action.impl.EncodeMessage"
         scope="prototype"
         p:messageEncoderFactory-ref="oidc.messageEncoderFactory"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse" />
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier" />
 
     <bean id="PostResponsePopulateAuditContext" parent="shibboleth.AbstractPopulateAuditContext"
         p:fieldExtractors="#{getObject('shibboleth.oidc.RegistrationPostResponseAuditExtractors') ?: getObject('shibboleth.oidc.DefaultRegistrationPostResponseAuditExtractors')}" />
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/token/token-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/token/token-beans.xml
index dc0b9443..949fc042 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/token/token-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/token/token-beans.xml
@@ -18,7 +18,7 @@
     <bean id="DecodeMessage" class="org.opensaml.profile.action.impl.DecodeMessage" scope="prototype">
         <constructor-arg>
             <bean class="net.shibboleth.idp.plugin.oidc.op.decoding.impl.OIDCTokenRequestDecoder" scope="prototype"
-                p:httpServletRequest-ref="shibboleth.oidc.internal.HttpServletRequest"
+                p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier"
                 p:removeIpAddressFromEndpointUri="%{idp.oidc.logging.removeIpAddressFromProtocolMessage:false}"/>
         </constructor-arg>
     </bean>
@@ -573,7 +573,7 @@
 
     <bean id="BuildErrorResponseFromEvent"
         class="net.shibboleth.idp.plugin.oidc.op.profile.impl.BuildTokenErrorResponseFromEvent" scope="prototype"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse"
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier"
         p:mappedErrors="#{getObject('shibboleth.oidc.token.MappedErrors') ?: getObject('shibboleth.oidc.DefaultApiMappedErrors')}">
         <property name="eventContextLookupStrategy">
             <bean class="net.shibboleth.idp.profile.context.navigate.WebFlowCurrentEventLookupFunction" />
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/userinfo/userinfo-beans.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/userinfo/userinfo-beans.xml
index 7e7fccdc..2f16107c 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/userinfo/userinfo-beans.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/flows/oidc/userinfo/userinfo-beans.xml
@@ -18,7 +18,7 @@
     <bean id="DecodeMessage" class="org.opensaml.profile.action.impl.DecodeMessage" scope="prototype">
         <constructor-arg>
             <bean class="net.shibboleth.idp.plugin.oidc.op.decoding.impl.OIDCUserInfoRequestDecoder" scope="prototype"
-                p:httpServletRequest-ref="shibboleth.oidc.internal.HttpServletRequest"
+                p:httpServletRequestSupplier-ref="shibboleth.HttpServletRequestSupplier"
                 p:removeIpAddressFromEndpointUri="%{idp.oidc.logging.removeIpAddressFromProtocolMessage:false}"/>
         </constructor-arg>
     </bean>
@@ -212,7 +212,7 @@
 
     <bean id="BuildErrorResponseFromEvent"
         class="net.shibboleth.idp.plugin.oidc.op.userinfo.profile.impl.BuildUserInfoErrorResponseFromEvent" scope="prototype"
-        p:httpServletResponse-ref="shibboleth.oidc.internal.HttpServletResponse"
+        p:httpServletResponseSupplier-ref="shibboleth.HttpServletResponseSupplier"
         p:mappedErrors="#{getObject('shibboleth.oidc.userinfo.MappedErrors') ?: getObject('shibboleth.oidc.DefaultApiMappedErrors')}">
         <property name="eventContextLookupStrategy">
             <bean class="net.shibboleth.idp.profile.context.navigate.WebFlowCurrentEventLookupFunction" />
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/service/relying-party/postconfig.xml b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/service/relying-party/postconfig.xml
index 39f90f51..856d6d75 100644
--- a/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/service/relying-party/postconfig.xml
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/net/shibboleth/idp/service/relying-party/postconfig.xml
@@ -553,8 +553,8 @@
         p:endpointReplacement="/profile/oidc/token">
         <property name="audienceLookupStrategy">
             <bean parent="shibboleth.BiFunctions.Expression"
-                c:expression="#custom.getRequestURL().toString()"
-                p:customObject-ref="shibboleth.oidc.internal.HttpServletRequest" />
+                c:expression="#custom.get().getRequestURL().toString()"
+                p:customObject-ref="shibboleth.HttpServletRequestSupplier" />
         </property>
     </bean>
 
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/admin/impl/IssueRegistrationAccessTokenTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/admin/impl/IssueRegistrationAccessTokenTest.java
index 620219d2..7335cab3 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/admin/impl/IssueRegistrationAccessTokenTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/admin/impl/IssueRegistrationAccessTokenTest.java
@@ -27,6 +27,8 @@ import java.util.HashMap;
 import java.util.Map;
 
 import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import org.opensaml.profile.context.ProfileRequestContext;
 import org.springframework.mock.web.MockHttpServletRequest;
@@ -54,6 +56,7 @@ import net.shibboleth.idp.profile.testing.RequestContextBuilder;
 import net.shibboleth.oidc.metadata.policy.MetadataPolicy;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import net.shibboleth.utilities.java.support.primitive.NonnullSupplier;
 import net.shibboleth.utilities.java.support.security.AccessControl;
 import net.shibboleth.utilities.java.support.security.AccessControlService;
 import net.shibboleth.utilities.java.support.security.DataSealer;
@@ -114,9 +117,13 @@ public class IssueRegistrationAccessTokenTest {
     
     protected void initRequestResponse() {
         httpRequest = new MockHttpServletRequest();
-        action.setHttpServletRequest(httpRequest);
+        action.setHttpServletRequestSupplier(new NonnullSupplier<> () {
+            public HttpServletRequest get() { return httpRequest;}
+            });
         httpResponse = new MockHttpServletResponse();
-        action.setHttpServletResponse(httpResponse);
+        action.setHttpServletResponseSupplier(new NonnullSupplier<> () {
+            public HttpServletResponse get() { return httpResponse;}
+            });
     }
     
     protected Map<String, MetadataPolicy> defaultMetadataPolicy() {
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCAuthenticationRequestDecoderTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCAuthenticationRequestDecoderTest.java
index 2aade4a3..0815bf5d 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCAuthenticationRequestDecoderTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCAuthenticationRequestDecoderTest.java
@@ -17,6 +17,8 @@
 
 package net.shibboleth.idp.plugin.oidc.op.decoding.impl;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.messaging.decoder.MessageDecodingException;
 import org.springframework.mock.web.MockHttpServletRequest;
@@ -27,6 +29,8 @@ import org.testng.annotations.Test;
 import com.nimbusds.oauth2.sdk.ResponseType;
 import com.nimbusds.openid.connect.sdk.AuthenticationRequest;
 
+import net.shibboleth.utilities.java.support.primitive.NonnullSupplier;
+
 /**
  * Unit tests for {@link OIDCAuthenticationRequestDecoder}.
  */
@@ -40,7 +44,9 @@ public class OIDCAuthenticationRequestDecoderTest {
 		httpRequest = new MockHttpServletRequest();
 		httpRequest.setMethod("GET");
 		decoder = new OIDCAuthenticationRequestDecoder();
-		decoder.setHttpServletRequest(httpRequest);
+        decoder.setHttpServletRequestSupplier(new NonnullSupplier<> () {
+            public HttpServletRequest get() { return httpRequest;}
+            });
 		decoder.initialize();
 	}
 
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCClientRegistrationRequestDecoderTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCClientRegistrationRequestDecoderTest.java
index 8de4e1c1..e8f8ae9f 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCClientRegistrationRequestDecoderTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCClientRegistrationRequestDecoderTest.java
@@ -20,6 +20,8 @@ package net.shibboleth.idp.plugin.oidc.op.decoding.impl;
 import java.io.File;
 import java.io.IOException;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.messaging.decoder.MessageDecodingException;
 import org.springframework.mock.web.MockHttpServletRequest;
@@ -31,6 +33,8 @@ import com.google.common.io.Files;
 import com.nimbusds.oauth2.sdk.http.HTTPRequest.Method;
 import com.nimbusds.openid.connect.sdk.rp.OIDCClientRegistrationRequest;
 
+import net.shibboleth.utilities.java.support.primitive.NonnullSupplier;
+
 /**
  * Unit tests for {@link OIDCClientRegistrationRequestDecoder}.
  */
@@ -44,7 +48,9 @@ public class OIDCClientRegistrationRequestDecoderTest {
         httpRequest = new MockHttpServletRequest();
         httpRequest.setMethod(Method.POST.toString());
         decoder = new OIDCClientRegistrationRequestDecoder();
-        decoder.setHttpServletRequest(httpRequest);
+        decoder.setHttpServletRequestSupplier(new NonnullSupplier<> () {
+            public HttpServletRequest get() { return httpRequest;}
+            });
         decoder.initialize();
     }
 
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCTokenRequestDecoderTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCTokenRequestDecoderTest.java
index b5f2e5cb..613a44a4 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCTokenRequestDecoderTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCTokenRequestDecoderTest.java
@@ -19,6 +19,8 @@ package net.shibboleth.idp.plugin.oidc.op.decoding.impl;
 
 import java.io.IOException;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.messaging.decoder.MessageDecodingException;
 import org.springframework.mock.web.MockHttpServletRequest;
@@ -29,6 +31,8 @@ import org.testng.annotations.Test;
 import com.nimbusds.oauth2.sdk.TokenRequest;
 import com.nimbusds.oauth2.sdk.http.HTTPRequest.Method;
 
+import net.shibboleth.utilities.java.support.primitive.NonnullSupplier;
+
 /**
  * Unit tests for {@link OIDCTokenRequestDecoder}.
  */
@@ -43,7 +47,9 @@ public class OIDCTokenRequestDecoderTest {
         httpRequest = new MockHttpServletRequest();
         httpRequest.setMethod(Method.POST.toString());
         decoder = new OIDCTokenRequestDecoder();
-        decoder.setHttpServletRequest(httpRequest);
+        decoder.setHttpServletRequestSupplier(new NonnullSupplier<> () {
+            public HttpServletRequest get() { return httpRequest;}
+            });
         decoder.initialize();
     }
 
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCUserInfoRequestDecoderTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCUserInfoRequestDecoderTest.java
index 6650270a..e09a11b0 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCUserInfoRequestDecoderTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/decoding/impl/OIDCUserInfoRequestDecoderTest.java
@@ -19,6 +19,8 @@ package net.shibboleth.idp.plugin.oidc.op.decoding.impl;
 
 import java.io.IOException;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.messaging.decoder.MessageDecodingException;
 import org.springframework.mock.web.MockHttpServletRequest;
@@ -29,6 +31,8 @@ import org.testng.annotations.Test;
 import com.nimbusds.oauth2.sdk.http.HTTPRequest.Method;
 import com.nimbusds.openid.connect.sdk.UserInfoRequest;
 
+import net.shibboleth.utilities.java.support.primitive.NonnullSupplier;
+
 /**
  * Unit tests for {@link OIDCUserInfoRequestDecoder}.
  */
@@ -43,7 +47,9 @@ public class OIDCUserInfoRequestDecoderTest {
         httpRequest = new MockHttpServletRequest();
         httpRequest.setMethod(Method.POST.toString());
         decoder = new OIDCUserInfoRequestDecoder();
-        decoder.setHttpServletRequest(httpRequest);
+        decoder.setHttpServletRequestSupplier(new NonnullSupplier<> () {
+            public HttpServletRequest get() { return httpRequest;}
+            });
         decoder.initialize();
     }
 
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/oauth2/decoding/impl/OAuth2RevocationRequestDecoderTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/oauth2/decoding/impl/OAuth2RevocationRequestDecoderTest.java
index 63509848..1e788bf9 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/oauth2/decoding/impl/OAuth2RevocationRequestDecoderTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/oauth2/decoding/impl/OAuth2RevocationRequestDecoderTest.java
@@ -17,6 +17,8 @@
 
 package net.shibboleth.idp.plugin.oidc.op.oauth2.decoding.impl;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.messaging.decoder.MessageDecodingException;
 import org.springframework.mock.web.MockHttpServletRequest;
@@ -26,6 +28,8 @@ import org.testng.annotations.Test;
 
 import com.nimbusds.oauth2.sdk.TokenRevocationRequest;
 
+import net.shibboleth.utilities.java.support.primitive.NonnullSupplier;
+
 /**
  * Unit tests for {@link OAuth2RevocationRequestDecoder}.
  */
@@ -44,7 +48,9 @@ public class OAuth2RevocationRequestDecoderTest {
         httpRequest.addParameter("token_type_hint", "refresh_token");
         httpRequest.addParameter("client_id", "123456");
         decoder = new OAuth2RevocationRequestDecoder();
-        decoder.setHttpServletRequest(httpRequest);
+        decoder.setHttpServletRequestSupplier(new NonnullSupplier<> () {
+            public HttpServletRequest get() { return httpRequest;}
+            });
         decoder.initialize();
     }
 
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/FormOutboundDiscoveryResponseTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/FormOutboundDiscoveryResponseTest.java
index 8b7b9fed..0cce4b49 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/FormOutboundDiscoveryResponseTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/FormOutboundDiscoveryResponseTest.java
@@ -21,6 +21,9 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
 import org.mockito.Mockito;
 import org.opensaml.profile.context.ProfileRequestContext;
 import org.springframework.core.io.ClassPathResource;
@@ -49,6 +52,7 @@ import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileR
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.idp.profile.testing.RequestContextBuilder;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.primitive.NonnullSupplier;
 
 /**
  * Unit tests for {@link FormOutboundDiscoveryResponse}.
@@ -67,6 +71,10 @@ public class FormOutboundDiscoveryResponseTest {
 
     protected String dynamicClaimValue;
 
+    private MockHttpServletRequest httpRequest;
+    
+    private MockHttpServletResponse httpResponse;
+
     @BeforeMethod
     protected void setUpContext() throws ComponentInitializationException {
         action = buildAction();
@@ -79,8 +87,14 @@ public class FormOutboundDiscoveryResponseTest {
 
     protected FormOutboundDiscoveryResponse buildAction() {
         action = new FormOutboundDiscoveryResponse();
-        action.setHttpServletRequest(new MockHttpServletRequest());
-        action.setHttpServletResponse(new MockHttpServletResponse());
+        httpRequest = new MockHttpServletRequest();
+        action.setHttpServletRequestSupplier(new NonnullSupplier<> () {
+            public HttpServletRequest get() { return httpRequest;}
+            });
+        httpResponse = new MockHttpServletResponse();
+        action.setHttpServletResponseSupplier(new NonnullSupplier<> () {
+            public HttpServletResponse get() { return httpResponse;}
+            });
         return action;
     }
 
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/spring/relyingparty/metadata/impl/ReloadProviderResolverServiceConfigurationTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/spring/relyingparty/metadata/impl/ReloadProviderResolverServiceConfigurationTest.java
index 82bf7d37..3041eb26 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/spring/relyingparty/metadata/impl/ReloadProviderResolverServiceConfigurationTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/spring/relyingparty/metadata/impl/ReloadProviderResolverServiceConfigurationTest.java
@@ -47,6 +47,7 @@ import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.idp.profile.testing.RequestContextBuilder;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
+import net.shibboleth.utilities.java.support.primitive.NonnullSupplier;
 import net.shibboleth.utilities.java.support.service.ReloadableService;
 import net.shibboleth.utilities.java.support.service.ServiceableComponent;
 
@@ -119,7 +120,9 @@ public class ReloadProviderResolverServiceConfigurationTest {
     protected static ReloadServiceConfiguration initializeAction(final ReloadableService<?> reloadableService, 
             final HttpServletResponse response) throws ComponentInitializationException {
         final ReloadServiceConfiguration action = new ReloadServiceConfiguration();
-        action.setHttpServletResponse(response);
+        action.setHttpServletResponseSupplier(new NonnullSupplier<> () {
+            public HttpServletResponse get() { return response;}
+            });
         action.setServiceLookupStrategy(new Function<ProfileRequestContext,ReloadableService<?>>() {
             public ReloadableService<?> apply(ProfileRequestContext input) {
                 return reloadableService;

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


More information about the commits mailing list