Class Constraints


  • public final class Constraints
    extends Object
    Constraints defined for JWT validation. Constraint evaluation results in a promise of a Result.
    • Method Detail

      • isEqualTo

        public static <T> JwtClaimConstraint<T> isEqualTo​(T expected)
        Returns empty if the value is equal to the one expected and fulfill the Violation with the custom error message.
        Type Parameters:
        T - The type on which the constraint applies.
        Parameters:
        expected - The expected value.
        Returns:
        empty if the value is equal to the one expected or a Violation corresponding to this constraint.
      • contains

        public static <T> JwtClaimConstraint<Collection<T>> contains​(T expected)
        Returns empty if the list contains the expected value.
        Type Parameters:
        T - The type on which the constraint applies.
        Parameters:
        expected - The expected value.
        Returns:
        empty if the value is contained in the list or a Violation corresponding to this constraint.
      • containsOnly

        public static <T> JwtClaimConstraint<Collection<T>> containsOnly​(T expected)
        Returns empty if the list contains only the expected value.
        Type Parameters:
        T - The type on which the constraint applies.
        Parameters:
        expected - The expected value.
        Returns:
        empty if the value is contained in the singletonlist or a Violation corresponding to this constraint.
      • isNotNull

        public static JwtClaimConstraint<JsonValue> isNotNull()
        Returns empty if the value is present.
        Returns:
        empty if the value is present in the list or a Violation corresponding to this constraint.
      • hasClaims

        public static JwtConstraint hasClaims()
        Returns empty if the JWT does contain claims.
        Returns:
        empty if the JWT does contain claims or a Violation corresponding to this constraint.
      • canBeDecrypted

        public static JwtConstraint canBeDecrypted​(SecretsProvider secretsProvider,
                                                   Purpose<DataDecryptionKey> purpose)
        Provides a JwtConstraint configured with the supplied SecretsProvider that contain a secret capable of decrypting and verifying a JWT's encryption. Fails if the supplied JWT is not encrypted or cannot be decrypted with the secrets available in the SecretsProvider.
        Parameters:
        secretsProvider - the instance from where to get the keys.
        purpose - the Purpose of the decryption.
        Returns:
        empty if the JWT has a valid encryption or a Violation corresponding to this constraint.
      • hasValidSignatureAndEncryption

        public static JwtConstraint hasValidSignatureAndEncryption​(JwtConstraint signatureConstraint,
                                                                   JwtConstraint decryptionConstraint)
        Provides a JwtConstraint configured with the supplied JwtConstraints verifying both signature and encryption. Fails if the supplied JWT is either :
        • Not encrypted and signed (both orders are accepted)
        • Not decipherable
        • Signed with an invalid signature
        Parameters:
        signatureConstraint - the constraint on signature.
        decryptionConstraint - the constraint on decryption.
        Returns:
        the combined JwtConstraint.