Class SelectAuthenticationFlow

    • Field Detail

      • log

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

        private boolean favorSSO
        Whether SSO trumps explicit relying party flow preference.
      • requestedPrincipalCtx

        @Nullable
        private RequestedPrincipalContext requestedPrincipalCtx
        A subordinate RequestedPrincipalContext, if any.
      • preferredPrincipalCtx

        @Nullable
        private PreferredPrincipalContext preferredPrincipalCtx
        A subordinate PreferredPrincipalContext, if any.
      • noProxying

        private boolean noProxying
        Tracks a proxy count of zero for the request.
    • Constructor Detail

      • SelectAuthenticationFlow

        public SelectAuthenticationFlow()
    • Method Detail

      • getFavorSSO

        public boolean getFavorSSO()
        Get whether SSO should trump explicit relying party requirements preference.
        Returns:
        whether SSO should trump explicit relying party requirements preference
      • setFavorSSO

        public void setFavorSSO​(boolean flag)
        Set whether SSO should trump explicit relying party requirements preference.
        Parameters:
        flag - whether SSO should trump explicit relying party requirements preference
      • doSelectSignaledFlow

        private void doSelectSignaledFlow​(@Nonnull
                                          ProfileRequestContext profileRequestContext,
                                          @Nonnull
                                          AuthenticationContext authenticationContext)
        Executes the selection process in the presence of an explicit flow signal.
        Parameters:
        profileRequestContext - the current IdP profile request context
        authenticationContext - the current authentication context
      • doSelectNoRequestedPrincipals

        private void doSelectNoRequestedPrincipals​(@Nonnull
                                                   ProfileRequestContext profileRequestContext,
                                                   @Nonnull
                                                   AuthenticationContext authenticationContext)
        Executes the selection process in the absence of specific requested principals.
        Parameters:
        profileRequestContext - the current IdP profile request context
        authenticationContext - the current authentication context
      • getUnattemptedInactiveFlow

        @Nullable
        private AuthenticationFlowDescriptor getUnattemptedInactiveFlow​(@Nonnull
                                                                        ProfileRequestContext profileRequestContext,
                                                                        @Nonnull
                                                                        AuthenticationContext authenticationContext)
        Return the first inactive potential flow not found in the intermediate flows collection that applies to the request.
        Parameters:
        profileRequestContext - the current profile request context
        authenticationContext - the current authentication context
        Returns:
        an eligible flow, or null
      • selectInactiveFlow

        private void selectInactiveFlow​(@Nonnull
                                        ProfileRequestContext profileRequestContext,
                                        @Nonnull
                                        AuthenticationContext authenticationContext,
                                        @Nonnull
                                        AuthenticationFlowDescriptor descriptor)
        Selects an inactive flow and completes processing.
        Parameters:
        profileRequestContext - the current IdP profile request context
        authenticationContext - the current authentication context
        descriptor - the flow to select
      • selectActiveResult

        private void selectActiveResult​(@Nonnull
                                        ProfileRequestContext profileRequestContext,
                                        @Nonnull
                                        AuthenticationContext authenticationContext,
                                        @Nonnull
                                        AuthenticationResult result)
        Selects an active result and completes processing.
        Parameters:
        profileRequestContext - the current IdP profile request context
        authenticationContext - the current authentication context
        result - the result to reuse
      • doSelectRequestedPrincipals

        private void doSelectRequestedPrincipals​(@Nonnull
                                                 ProfileRequestContext profileRequestContext,
                                                 @Nonnull
                                                 AuthenticationContext authenticationContext)
        Executes the selection process in the presence of specific requested Principals, requiring evaluation of potential flows and results for Principal-compatibility with request.
        Parameters:
        profileRequestContext - the current IdP profile request context
        authenticationContext - the current authentication context
      • selectRequestedInactiveFlow

        private void selectRequestedInactiveFlow​(@Nonnull
                                                 ProfileRequestContext profileRequestContext,
                                                 @Nonnull
                                                 AuthenticationContext authenticationContext)
        Selects an inactive flow in the presence of specific requested Principals, and completes processing.
        Parameters:
        profileRequestContext - the current IdP profile request context
        authenticationContext - the current authentication context
      • selectRequestedFlow

        private void selectRequestedFlow​(@Nonnull
                                         ProfileRequestContext profileRequestContext,
                                         @Nonnull
                                         AuthenticationContext authenticationContext,
                                         @Nonnull @NonnullElements
                                         Map<String,​AuthenticationResult> activeResults)
        Selects a flow or an active result in the presence of specific requested Principals and completes processing.
        Parameters:
        profileRequestContext - the current IdP profile request context
        authenticationContext - the current authentication context
        activeResults - active results that may be reused