Class JwtTokenValidatorUtils


  • public final class JwtTokenValidatorUtils
    extends java.lang.Object
    Utility methods to validate JWT signatures and claims.
    Since:
    1.0.0
    Author:
    Sergio del Amo
    • Method Detail

      • validatePlainJWTSignature

        public static java.util.Optional<com.nimbusds.jwt.JWT> validatePlainJWTSignature​(com.nimbusds.jwt.JWT jwt,
                                                                                         java.util.List<SignatureConfiguration> signatureConfigurations)
        Validates the Signature of a plain JWT.
        Parameters:
        jwt - a JWT Token
        signatureConfigurations - The signature configurations
        Returns:
        empty if signature configurations exists, Optional.of(jwt) if no signature configuration is available.
      • validateSignedJWTSignature

        public static java.util.Optional<com.nimbusds.jwt.JWT> validateSignedJWTSignature​(com.nimbusds.jwt.SignedJWT signedJWT,
                                                                                          java.util.List<SignatureConfiguration> signatureConfigurations)
        Validates a Signed JWT signature.
        Parameters:
        signedJWT - a Signed JWT Token
        signatureConfigurations - The signature configurations
        Returns:
        empty if signature validation fails
      • verifyClaims

        public static boolean verifyClaims​(JwtClaims claims,
                                           java.util.Collection<? extends JwtClaimsValidator> claimsValidators)
        Verifies the provided claims with the provided validators.
        Parameters:
        claims - JWT Claims
        claimsValidators - The claims validators
        Returns:
        Whether the JWT claims pass every validation.
      • validateEncryptedJWTSignature

        public static java.util.Optional<com.nimbusds.jwt.JWT> validateEncryptedJWTSignature​(@Nonnull
                                                                                             com.nimbusds.jwt.EncryptedJWT encryptedJWT,
                                                                                             @Nonnull
                                                                                             java.lang.String token,
                                                                                             @Nonnull
                                                                                             java.util.List<SignatureConfiguration> signatureConfigurations,
                                                                                             @Nonnull
                                                                                             java.util.List<EncryptionConfiguration> encryptionConfigurations)
        Validates a encrypted JWT Signature.
        Parameters:
        encryptedJWT - a encrytped JWT Token
        token - the JWT token as String
        signatureConfigurations - The signature configurations
        encryptionConfigurations - The encryption configurations
        Returns:
        empty if signature validation fails
      • validateJwtSignatureAndClaims

        public static java.util.Optional<com.nimbusds.jwt.JWT> validateJwtSignatureAndClaims​(java.lang.String token,
                                                                                             java.util.Collection<? extends JwtClaimsValidator> claimsValidators,
                                                                                             java.util.List<SignatureConfiguration> signatureConfigurations,
                                                                                             java.util.List<EncryptionConfiguration> encryptionConfigurations)
        Validates JWT signature and Claims.
        Parameters:
        token - A JWT token
        claimsValidators - a Collection of claims Validators.
        signatureConfigurations - The signature configurations
        encryptionConfigurations - The encryption configurations
        Returns:
        empty if signature or claims verification failed, JWT otherwise.
      • parseJwtIfValidSignature

        public static java.util.Optional<com.nimbusds.jwt.JWT> parseJwtIfValidSignature​(java.lang.String token,
                                                                                        java.util.List<SignatureConfiguration> signatureConfigurations,
                                                                                        java.util.List<EncryptionConfiguration> encryptionConfigurations)
        Parameters:
        token - A JWT token string
        signatureConfigurations - The signature configurations
        encryptionConfigurations - The encryption configurations
        Returns:
        A JWT if validation succeeded