Class ChainingTrustEngine<TokenType>

  • Type Parameters:
    TokenType - the token type this trust engine evaluates
    All Implemented Interfaces:
    org.opensaml.security.trust.TrustEngine<TokenType>

    public class ChainingTrustEngine<TokenType>
    extends Object
    implements org.opensaml.security.trust.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 Detail

      • log

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

        @Nonnull
        @NonnullElements
        private List<org.opensaml.security.trust.TrustEngine<? super TokenType>> engines
        The chain of subordinate trust engines.
    • Constructor Detail

      • ChainingTrustEngine

        public ChainingTrustEngine​(@Nonnull @NonnullElements @ParameterName(name="chain")
                                   List<org.opensaml.security.trust.TrustEngine<? super TokenType>> chain)
        Constructor.
        Parameters:
        chain - the list of trust engines in the chain
    • Method Detail

      • getChain

        @Nonnull
        @NonnullElements
        @Unmodifiable
        @NotLive
        public List<org.opensaml.security.trust.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
                                net.shibboleth.utilities.java.support.resolver.CriteriaSet trustBasisCriteria)
                         throws org.opensaml.security.SecurityException
        Specified by:
        validate in interface org.opensaml.security.trust.TrustEngine<TokenType>
        Throws:
        org.opensaml.security.SecurityException