Class JWTFilter

All Implemented Interfaces:
jakarta.servlet.Filter

public class JWTFilter extends AbstractFilter
  • Field Details

    • log

      protected static org.slf4j.Logger log
    • JWT_TOKEN_AUTHORIZATION_HEADER

      public static final String JWT_TOKEN_AUTHORIZATION_HEADER
      See Also:
    • JWT_TOKEN_AUTHORIZATION_HEADER_BEARER_PREFIX

      public static final String JWT_TOKEN_AUTHORIZATION_HEADER_BEARER_PREFIX
      See Also:
    • appSettings

      private AppSettings appSettings
  • Constructor Details

    • JWTFilter

      public JWTFilter()
  • Method Details

    • doFilter

      public void doFilter(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain) throws IOException, jakarta.servlet.ServletException
      Throws:
      IOException
      jakarta.servlet.ServletException
    • checkJWT

      private boolean checkJWT(String jwtString)
    • isJWKSTokenValid

      private static boolean isJWKSTokenValid(String jwksURL, String jwtString)
    • isJWTTokenValid

      public static boolean isJWTTokenValid(String jwtSecretKey, String jwtToken)
    • isJWTTokenValid

      public static boolean isJWTTokenValid(String jwtSecretKey, String jwtToken, String issuer)
    • isJWTTokenValid

      public static boolean isJWTTokenValid(String jwtSecretKey, String jwtToken, String claimName, String claimValue)
      This method checks the claim value in the JWT token. For instance, we just need to give claimName as `subscriberId` and claimValue as the subscribers' id such as email Typical usage is like that isJWTTokenValid(jwtSecretKey, jwtToken, "subscriberId", "myemail@example.com");
      Parameters:
      jwtSecretKey -
      jwtToken -
      claimName -
      claimValue -
      Returns:
    • generateJwtToken

      public static String generateJwtToken(String jwtSecretKey, long expireDateUnixTimeStampMs, String claimName, String claimValue)
    • generateJwtToken

      public static String generateJwtToken(String jwtSecretKey, long expireDateUnixTimeStampMs)
    • generateJwtToken

      public static String generateJwtToken(String jwtSecretKey, long expireDateUnixTimeStampMs, String issuer)