Class BaseTrustEngineSecurityHandler<TokenType>

    • Field Detail

      • log

        @Nonnull
        private final org.slf4j.Logger log
        Logger.
      • trustEngine

        @Nullable
        private TrustEngine<? super TokenType> trustEngine
        Trust engine used to verify the particular token type.
    • Constructor Detail

      • BaseTrustEngineSecurityHandler

        public BaseTrustEngineSecurityHandler()
    • Method Detail

      • getTrustEngine

        @Nullable
        protected TrustEngine<? super TokenType> getTrustEngine()
        Gets the trust engine used to validate the untrusted token.
        Returns:
        trust engine used to validate the untrusted token
      • doPreInvoke

        protected boolean doPreInvoke​(@Nonnull
                                      MessageContext messageContext)
                               throws MessageHandlerException
        Called prior to execution, handlers may override this method to perform pre-processing for a request.

        The default impl applies the Predicate set via the AbstractMessageHandler.setActivationCondition(Predicate).

        If false is returned, execution will not proceed.

        Subclasses which override this method should generally invoke the super version of this method first, so that the activation condition will be applied up front, and immediately return false if the super version returns false. This avoids unnecessary execution of the remaining pre-invocation code if the handler ultimately will not execute.

        Overrides:
        doPreInvoke in class AbstractMessageHandler
        Parameters:
        messageContext - the message context on which to invoke the handler
        Returns:
        true iff execution should proceed
        Throws:
        MessageHandlerException - if there is a problem executing the handler pre-routine
      • resolveTrustEngine

        @Nullable
        protected abstract TrustEngine<? super TokenType> resolveTrustEngine​(@Nonnull
                                                                             MessageContext messageContext)
        Resolve a TrustEngine instance of the appropriate type from the message context.
        Parameters:
        messageContext - the message context which is being evaluated
        Returns:
        the resolved TrustEngine, may be null
      • buildCriteriaSet

        @Nullable
        protected abstract CriteriaSet buildCriteriaSet​(@Nullable
                                                        String entityID,
                                                        @Nonnull
                                                        MessageContext messageContext)
                                                 throws MessageHandlerException
        Subclasses are required to implement this method to build a criteria set for the trust engine according to trust engine and application-specific needs.
        Parameters:
        entityID - the candidate issuer entity ID which is being evaluated
        messageContext - the message context which is being evaluated
        Returns:
        a newly constructly set of criteria suitable for the configured trust engine
        Throws:
        MessageHandlerException - thrown if criteria set can not be constructed
      • evaluate

        protected boolean evaluate​(@Nonnull
                                   TokenType token,
                                   @Nullable
                                   String entityID,
                                   @Nonnull
                                   MessageContext messageContext)
                            throws MessageHandlerException
        Evaluate the token using the configured trust engine against criteria built using the specified candidate issuer entity ID and message context information.
        Parameters:
        token - the token to be evaluated
        entityID - the candidate issuer entity ID which is being evaluated
        messageContext - the message context which is being evaluated
        Returns:
        true if the token satisfies the criteria as determined by the trust engine, otherwise false
        Throws:
        MessageHandlerException - thrown if there is a fatal error during trust engine evaluation
      • evaluate

        protected boolean evaluate​(@Nonnull
                                   TokenType token,
                                   @Nullable
                                   CriteriaSet criteriaSet)
                            throws MessageHandlerException
        Evaluate the token against the specified criteria using the configured trust engine.
        Parameters:
        token - the token to be evaluated
        criteriaSet - the set of criteria against which to evaluate the token
        Returns:
        true if the token satisfies the criteria as determined by the trust engine, otherwise false
        Throws:
        MessageHandlerException - thrown if there is a fatal error during trust engine evaluation