Class InitializeRequestedPrincipalContext

  • All Implemented Interfaces:
    net.shibboleth.utilities.java.support.component.Component, net.shibboleth.utilities.java.support.component.DestructableComponent, net.shibboleth.utilities.java.support.component.InitializableComponent, org.opensaml.profile.action.ProfileAction, Aware, MessageSource, MessageSourceAware, Action

    public class InitializeRequestedPrincipalContext
    extends net.shibboleth.idp.authn.AbstractAuthenticationAction
    An action that creates an RequestedPrincipalContext and attaches it to the current AuthenticationContext, if the profile request context contains a RelyingPartyContext with an AuthenticationProfileConfiguration containing one or more default authentication methods.

    If such a context already exists, it is left in place unless the replaceExistingContext property is set.

    Event:
    EventIds.PROCEED_EVENT_ID, IdPEventIds.INVALID_RELYING_PARTY_CTX, IdPEventIds.INVALID_PROFILE_CONFIG
    Postcondition:
    See above.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration authenticationProfileConfig
      Profile configuration source for requested principals.
      private org.slf4j.Logger log
      Class logger.
      private Function<org.opensaml.profile.context.ProfileRequestContext,​net.shibboleth.idp.profile.context.RelyingPartyContext> relyingPartyContextLookupStrategy
      Strategy used to locate the RelyingPartyContext associated with a given ProfileRequestContext.
      private boolean replaceExistingContext
      Whether to replace an existing subcontext, if any.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void doExecute​(org.opensaml.profile.context.ProfileRequestContext profileRequestContext, net.shibboleth.idp.authn.context.AuthenticationContext authenticationContext)
      protected boolean doPreExecute​(org.opensaml.profile.context.ProfileRequestContext profileRequestContext, net.shibboleth.idp.authn.context.AuthenticationContext authenticationContext)
      void setRelyingPartyContextLookupStrategy​(Function<org.opensaml.profile.context.ProfileRequestContext,​net.shibboleth.idp.profile.context.RelyingPartyContext> strategy)
      Set the strategy used to locate the RelyingPartyContext associated with a given ProfileRequestContext.
      void setReplaceExistingContext​(boolean flag)
      Whether any existing RequestedPrincipalContext should be replaced, defaults to "false".
      • Methods inherited from class net.shibboleth.idp.authn.AbstractAuthenticationAction

        doExecute, doPreExecute, setAuthenticationContextLookupStrategy
      • Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction

        doExecute, execute, getMessage, getMessage, getMessage, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategy
      • Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction

        getActivationCondition, setActivationCondition
      • Methods inherited from class org.opensaml.profile.action.AbstractProfileAction

        doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
      • Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent

        destroy, doDestroy, doInitialize, initialize, isDestroyed, isInitialized
      • Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent

        initialize, isInitialized
    • Field Detail

      • log

        @Nonnull
        private final org.slf4j.Logger log
        Class logger.
      • replaceExistingContext

        private boolean replaceExistingContext
        Whether to replace an existing subcontext, if any.
      • relyingPartyContextLookupStrategy

        @Nonnull
        private Function<org.opensaml.profile.context.ProfileRequestContext,​net.shibboleth.idp.profile.context.RelyingPartyContext> relyingPartyContextLookupStrategy
        Strategy used to locate the RelyingPartyContext associated with a given ProfileRequestContext.
      • authenticationProfileConfig

        @Nullable
        private net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration authenticationProfileConfig
        Profile configuration source for requested principals.
    • Constructor Detail

      • InitializeRequestedPrincipalContext

        public InitializeRequestedPrincipalContext()
        Constructor.
    • Method Detail

      • setReplaceExistingContext

        public void setReplaceExistingContext​(boolean flag)
        Whether any existing RequestedPrincipalContext should be replaced, defaults to "false".

        Normally an existing context would indicate requirements that shouldn't be circumvented to comply with expected profile behavior.

        Parameters:
        flag - flag to set
      • setRelyingPartyContextLookupStrategy

        public void setRelyingPartyContextLookupStrategy​(@Nonnull
                                                         Function<org.opensaml.profile.context.ProfileRequestContext,​net.shibboleth.idp.profile.context.RelyingPartyContext> strategy)
        Set the strategy used to locate the RelyingPartyContext associated with a given ProfileRequestContext.
        Parameters:
        strategy - strategy used to locate the RelyingPartyContext associated with a given ProfileRequestContext
      • doPreExecute

        protected boolean doPreExecute​(@Nonnull
                                       org.opensaml.profile.context.ProfileRequestContext profileRequestContext,
                                       @Nonnull
                                       net.shibboleth.idp.authn.context.AuthenticationContext authenticationContext)
        Overrides:
        doPreExecute in class net.shibboleth.idp.authn.AbstractAuthenticationAction
      • doExecute

        protected void doExecute​(@Nonnull
                                 org.opensaml.profile.context.ProfileRequestContext profileRequestContext,
                                 @Nonnull
                                 net.shibboleth.idp.authn.context.AuthenticationContext authenticationContext)
        Overrides:
        doExecute in class net.shibboleth.idp.authn.AbstractAuthenticationAction