[java-idp-oidc] 02/03: Deprecated obsolete AbstractInitializeOutboundResponseMessageContext

Henri Mikkonen henri.mikkonen at iki.fi
Wed Apr 24 11:17:22 UTC 2024


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=51763e2302bbd508a29dd51c31f14d4923b8af27

commit 51763e2302bbd508a29dd51c31f14d4923b8af27
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Wed Apr 24 11:46:14 2024 +0300

    Deprecated obsolete AbstractInitializeOutboundResponseMessageContext
    
    - Its child actions may inherit InitializeOutboundResponseMessageContext
    - Also deprecated obsolete flow-specific actions: they may use the generic action
      - userinfo: InitializeOutboundUserInfoResponseMessageContext
      - token: InitializeOutboundTokenResponseMessageContext
---
 ...undRpInitiatedLogoutResponseMessageContext.java |  4 ++--
 .../logout/profile/impl/PopulateLogoutContext.java |  4 ++--
 ...izeOutboundTokenMgmtResponseMessageContext.java |  4 ++--
 ...ctInitializeOutboundResponseMessageContext.java |  1 +
 ...tboundAuthenticationResponseMessageContext.java |  2 +-
 .../InitializeOutboundResponseMessageContext.java  | 27 ++++++++++++++++++++--
 ...tializeOutboundTokenResponseMessageContext.java |  5 ++--
 ...lizeOutboundUserInfoResponseMessageContext.java |  7 +++---
 .../idp/flows/oidc/token/token-beans.xml           |  2 +-
 .../idp/flows/oidc/userinfo/userinfo-beans.xml     |  2 +-
 10 files changed, 40 insertions(+), 18 deletions(-)

diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/logout/profile/impl/InitializeOutboundRpInitiatedLogoutResponseMessageContext.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/logout/profile/impl/InitializeOutboundRpInitiatedLogoutResponseMessageContext.java
index 41026565..f5d94ed8 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/logout/profile/impl/InitializeOutboundRpInitiatedLogoutResponseMessageContext.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/logout/profile/impl/InitializeOutboundRpInitiatedLogoutResponseMessageContext.java
@@ -18,7 +18,7 @@ import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.profile.context.ProfileRequestContext;
 
 import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCRpInitiatedLogoutContext;
-import net.shibboleth.idp.plugin.oidc.op.profile.impl.AbstractInitializeOutboundResponseMessageContext;
+import net.shibboleth.idp.plugin.oidc.op.profile.impl.InitializeOutboundResponseMessageContext;
 
 /**
  * Action that adds an outbound {@link MessageContext} and related contexts to the {@link ProfileRequestContext}.
@@ -26,7 +26,7 @@ import net.shibboleth.idp.plugin.oidc.op.profile.impl.AbstractInitializeOutbound
  * @event {@link org.opensaml.profile.action.EventIds#PROCEED_EVENT_ID}
  */
 public class InitializeOutboundRpInitiatedLogoutResponseMessageContext
-        extends AbstractInitializeOutboundResponseMessageContext {
+        extends InitializeOutboundResponseMessageContext {
 
     /**
      * Constructor.
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/logout/profile/impl/PopulateLogoutContext.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/logout/profile/impl/PopulateLogoutContext.java
index 98f53174..69d9a9e2 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/logout/profile/impl/PopulateLogoutContext.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/logout/profile/impl/PopulateLogoutContext.java
@@ -15,7 +15,7 @@
 package net.shibboleth.idp.plugin.oidc.op.logout.profile.impl;
 
 import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCLogoutPropagationContext;
-import net.shibboleth.idp.plugin.oidc.op.profile.impl.AbstractInitializeOutboundResponseMessageContext;
+import net.shibboleth.idp.plugin.oidc.op.profile.impl.InitializeOutboundResponseMessageContext;
 import net.shibboleth.oidc.metadata.context.OIDCMetadataContext;
 import net.shibboleth.shared.logic.Constraint;
 import net.shibboleth.shared.primitive.LoggerFactory;
@@ -40,7 +40,7 @@ import javax.annotation.Nullable;
  * This action creates {@link OIDCLogoutPropagationContext} and populates it with the front- and back-channel URIs if
  * found from the RP metadata.
  */
-public class PopulateLogoutContext extends AbstractInitializeOutboundResponseMessageContext {
+public class PopulateLogoutContext extends InitializeOutboundResponseMessageContext {
 
     /** Class logger. */
     @Nonnull private static final Logger log = LoggerFactory.getLogger(PopulateLogoutContext.class);
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oauth2/profile/impl/InitializeOutboundTokenMgmtResponseMessageContext.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oauth2/profile/impl/InitializeOutboundTokenMgmtResponseMessageContext.java
index 0a49f67a..cc4ac65d 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oauth2/profile/impl/InitializeOutboundTokenMgmtResponseMessageContext.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/oauth2/profile/impl/InitializeOutboundTokenMgmtResponseMessageContext.java
@@ -18,7 +18,7 @@ import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.profile.context.ProfileRequestContext;
 
 import net.shibboleth.idp.plugin.oidc.op.oauth2.messaging.context.OAuth2TokenMgmtResponseContext;
-import net.shibboleth.idp.plugin.oidc.op.profile.impl.AbstractInitializeOutboundResponseMessageContext;
+import net.shibboleth.idp.plugin.oidc.op.profile.impl.InitializeOutboundResponseMessageContext;
 
 /**
  * Action that adds an outbound {@link MessageContext} and related contexts to the {@link ProfileRequestContext}.
@@ -26,7 +26,7 @@ import net.shibboleth.idp.plugin.oidc.op.profile.impl.AbstractInitializeOutbound
  * @event {@link org.opensaml.profile.action.EventIds#PROCEED_EVENT_ID}
  */
 public class InitializeOutboundTokenMgmtResponseMessageContext
-        extends AbstractInitializeOutboundResponseMessageContext {
+        extends InitializeOutboundResponseMessageContext {
 
     /** Constructor. */
     public InitializeOutboundTokenMgmtResponseMessageContext() {
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/AbstractInitializeOutboundResponseMessageContext.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/AbstractInitializeOutboundResponseMessageContext.java
index 287793fe..bac9eb31 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/AbstractInitializeOutboundResponseMessageContext.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/AbstractInitializeOutboundResponseMessageContext.java
@@ -31,6 +31,7 @@ import org.slf4j.Logger;
  * 
  * @event {@link org.opensaml.profile.action.EventIds#PROCEED_EVENT_ID}
  */
+ at Deprecated(forRemoval = true)
 public abstract class AbstractInitializeOutboundResponseMessageContext extends AbstractProfileAction {
 
     /** Class logger. */
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/InitializeOutboundAuthenticationResponseMessageContext.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/InitializeOutboundAuthenticationResponseMessageContext.java
index c6f02dc7..f4ce28ac 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/InitializeOutboundAuthenticationResponseMessageContext.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/InitializeOutboundAuthenticationResponseMessageContext.java
@@ -78,7 +78,7 @@ import com.nimbusds.openid.connect.sdk.rp.OIDCClientMetadata;
  * @event {@link EventIds#INVALID_MSG_CTX}
  */
 public class InitializeOutboundAuthenticationResponseMessageContext
-        extends AbstractInitializeOutboundResponseMessageContext {
+        extends InitializeOutboundResponseMessageContext {
 
     /** Class logger. */
     @Nonnull
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/InitializeOutboundResponseMessageContext.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/InitializeOutboundResponseMessageContext.java
index 3cdc2c28..7d72f883 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/InitializeOutboundResponseMessageContext.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/InitializeOutboundResponseMessageContext.java
@@ -16,13 +16,16 @@ package net.shibboleth.idp.plugin.oidc.op.profile.impl;
 
 import javax.annotation.Nonnull;
 
+import org.opensaml.messaging.context.BaseContext;
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.profile.context.ProfileRequestContext;
 import org.slf4j.Logger;
 
 import com.nimbusds.oauth2.sdk.Response;
 
+import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCAuthenticationResponseContext;
 import net.shibboleth.idp.profile.AbstractProfileAction;
+import net.shibboleth.shared.logic.Constraint;
 import net.shibboleth.shared.primitive.LoggerFactory;
 
 /**
@@ -35,13 +38,33 @@ public class InitializeOutboundResponseMessageContext extends AbstractProfileAct
 
     /** Class logger. */
     @Nonnull
-    private final Logger log = LoggerFactory.getLogger(AbstractInitializeOutboundResponseMessageContext.class);
+    private final Logger log = LoggerFactory.getLogger(InitializeOutboundResponseMessageContext.class);
 
+    /** Type of subcontext to create. */
+    @Nonnull private Class<? extends BaseContext> contextType;
+
+    /** Constructor. */
+    public InitializeOutboundResponseMessageContext() {
+        contextType = OIDCAuthenticationResponseContext.class;
+    }
+
+    /**
+     * Set the type of subcontext to create.
+     * 
+     * @param claz context type
+     */
+    public void setContextType(@Nonnull final Class<? extends BaseContext> claz) {
+        ifInitializedThrowUnmodifiabledComponentException();
+
+        contextType = Constraint.isNotNull(claz, "Context type cannot be null");
+    }
 
     /** {@inheritDoc} */
     @Override
     protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
-        profileRequestContext.setOutboundMessageContext(new MessageContext());
+        final MessageContext msgCtx = new MessageContext();
+        profileRequestContext.setOutboundMessageContext(msgCtx);
+        msgCtx.ensureSubcontext(contextType);
         log.debug("{} Initialized outbound message context", getLogPrefix());
     }
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/InitializeOutboundTokenResponseMessageContext.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/InitializeOutboundTokenResponseMessageContext.java
index ffae5321..e3008d8a 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/InitializeOutboundTokenResponseMessageContext.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/profile/impl/InitializeOutboundTokenResponseMessageContext.java
@@ -22,10 +22,9 @@ import org.opensaml.profile.context.ProfileRequestContext;
  * not knowing the relying party yet.
  *
  * @event {@link org.opensaml.profile.action.EventIds#PROCEED_EVENT_ID}
- * 
- * TODO: Remove
  */
+ at Deprecated(forRemoval = true)
 public class InitializeOutboundTokenResponseMessageContext
-        extends AbstractInitializeOutboundResponseMessageContext {
+        extends InitializeOutboundResponseMessageContext {
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/userinfo/profile/impl/InitializeOutboundUserInfoResponseMessageContext.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/userinfo/profile/impl/InitializeOutboundUserInfoResponseMessageContext.java
index eca03bc9..4e6e0b3a 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/userinfo/profile/impl/InitializeOutboundUserInfoResponseMessageContext.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/userinfo/profile/impl/InitializeOutboundUserInfoResponseMessageContext.java
@@ -17,17 +17,16 @@ package net.shibboleth.idp.plugin.oidc.op.userinfo.profile.impl;
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.profile.context.ProfileRequestContext;
 
-import net.shibboleth.idp.plugin.oidc.op.profile.impl.AbstractInitializeOutboundResponseMessageContext;
+import net.shibboleth.idp.plugin.oidc.op.profile.impl.InitializeOutboundResponseMessageContext;
 
 /**
  * Action that adds an outbound {@link MessageContext} and related OIDC contexts to the {@link ProfileRequestContext}
  * not knowing the relying party yet.
  * 
  * @event {@link org.opensaml.profile.action.EventIds#PROCEED_EVENT_ID}
- * 
- * TODO: Remove 
  */
+ at Deprecated(forRemoval = true)
 public class InitializeOutboundUserInfoResponseMessageContext
-        extends AbstractInitializeOutboundResponseMessageContext {
+        extends InitializeOutboundResponseMessageContext {
 
 }
\ No newline at end of file
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 b5d5fa8b..1c48dfd2 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
@@ -37,7 +37,7 @@
         p:relyingPartyContextLookupStrategy-ref="AudienceRelyingPartyCreationStrategy" />
 
     <bean id="InitializeOutboundMessageContext"
-        class="net.shibboleth.idp.plugin.oidc.op.profile.impl.InitializeOutboundTokenResponseMessageContext"
+        class="net.shibboleth.idp.plugin.oidc.op.profile.impl.InitializeOutboundResponseMessageContext"
         scope="prototype" />
 
     <bean id="ValidateClientIDAgainstPolicy"
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 87445bf6..4f54c57d 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
@@ -27,7 +27,7 @@
     </bean>
 
     <bean id="InitializeOutboundMessageContext"
-        class="net.shibboleth.idp.plugin.oidc.op.userinfo.profile.impl.InitializeOutboundUserInfoResponseMessageContext"
+        class="net.shibboleth.idp.plugin.oidc.op.profile.impl.InitializeOutboundResponseMessageContext"
         scope="prototype" />
 
     <!-- Used for metadata lookup. -->

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


More information about the commits mailing list