Class ChainingTrustEngine<TokenType>

java.lang.Object
org.opensaml.security.trust.impl.ChainingTrustEngine<TokenType>
Type Parameters:
TokenType - the token type this trust engine evaluates
All Implemented Interfaces:
TrustEngine<TokenType>

public class ChainingTrustEngine<TokenType> extends Object implements TrustEngine<TokenType>
Evaluate a token in sequence using a chain of subordinate trust engines. If the token may be established as trusted by any of the subordinate engines, the token is considered trusted. Otherwise it is considered untrusted.
  • Field Details

    • log

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

      @Nonnull private List<TrustEngine<? super TokenType>> engines
      The chain of subordinate trust engines.
  • Constructor Details

  • Method Details

    • getChain

      @Nonnull @Unmodifiable @NotLive public List<TrustEngine<? super TokenType>> getChain()
      Get the list of configured trust engines which constitute the trust evaluation chain.
      Returns:
      the modifiable list of trust engines in the chain
    • validate

      public boolean validate(@Nonnull TokenType token, @Nullable CriteriaSet trustBasisCriteria) throws SecurityException
      Validates the token against trusted information obtained in an implementation-specific manner.
      Specified by:
      validate in interface TrustEngine<TokenType>
      Parameters:
      token - security token to validate
      trustBasisCriteria - criteria used to describe and/or resolve the information which serves as the basis for trust evaluation
      Returns:
      true iff the token is trusted and valid
      Throws:
      SecurityException - thrown if there is a problem validating the security token