Class AddNameIdentifierToSubjects

    • Constructor Detail

      • AddNameIdentifierToSubjects

        public AddNameIdentifierToSubjects()
        Constructor.
    • Method Detail

      • setOverwriteExisting

        public void setOverwriteExisting​(boolean flag)
        Set whether to overwrite any existing NameIdentifier objects found.
        Parameters:
        flag - true iff the action should overwrite any existing objects
      • setFormatLookupStrategy

        public void setFormatLookupStrategy​(@Nonnull
                                            Function<ProfileRequestContext,​List<String>> strategy)
        Set the strategy function to use to obtain the formats to try.
        Parameters:
        strategy - format lookup strategy
      • setNameIdentifierGenerator

        public void setNameIdentifierGenerator​(@Nonnull
                                               SAML1NameIdentifierGenerator theGenerator)
        Set the generator to use.
        Parameters:
        theGenerator - the generator to use
      • doPreExecute

        protected boolean doPreExecute​(@Nonnull
                                       ProfileRequestContext profileRequestContext)
        Called prior to execution, actions may override this method to perform pre-processing for a request.

        If false is returned, execution will not proceed, and the action should attach an EventContext to the context tree to signal how to continue with overall workflow processing.

        If returning successfully, the last step should be to return the result of the superclass version of this method.

        Overrides:
        doPreExecute in class AbstractProfileAction
        Parameters:
        profileRequestContext - the current IdP profile request context
        Returns:
        true iff execution should proceed
      • doExecute

        protected void doExecute​(@Nonnull
                                 ProfileRequestContext profileRequestContext)
        Performs this action. Actions must override this method to perform their work.
        Overrides:
        doExecute in class AbstractProfileAction
        Parameters:
        profileRequestContext - the current IdP profile request context
      • generateNameIdentifier

        @Nullable
        private NameIdentifier generateNameIdentifier​(@Nonnull
                                                      ProfileRequestContext profileRequestContext)
        Attempt to generate a NameIdentifier using each of the candidate Formats and plugins.
        Parameters:
        profileRequestContext - current profile request context
        Returns:
        a generated NameIdentifier or null
      • getStatementSubject

        @Nonnull
        private Subject getStatementSubject​(@Nonnull
                                            SubjectStatement statement)
        Get the subject to which the name identifier will be added.
        Parameters:
        statement - the statement being modified
        Returns:
        the subject to which the name identifier will be added
      • cloneNameIdentifier

        @Nonnull
        private NameIdentifier cloneNameIdentifier​(@Nonnull
                                                   NameIdentifier nameIdentifier)
        Create an efficient field-wise copy of a NameIdentifier.
        Parameters:
        nameIdentifier - the object to clone
        Returns:
        the copy