public void parseJWT(String jwt) {
   try {
     Claims claims =
         Jwts.parser()
             .setSigningKey(
                 DatatypeConverter.parseBase64Binary(APPKEY_SECRET)) // apiKey.getSecret()
             .parseClaimsJws(jwt)
             .getBody();
     System.out.println("ID: " + claims.getId());
     System.out.println("Subject: " + claims.getSubject());
     System.out.println("Issuer: " + claims.getIssuer());
     System.out.println("Expiration: " + claims.getExpiration());
   } catch (SignatureException e) {
     //            throw new ServiceException("Token has been tampered", ErrorCode.TOKEN_TAMPERED);
     throw buildException(Response.Status.BAD_REQUEST, "403", "Token has been tampered");
   } catch (ExpiredJwtException e) {
     //            throw new ServiceException("Token expired", ErrorCode.TOKEN_EXPIRED);
     throw buildException(Response.Status.REQUEST_TIMEOUT, "500", "Token expired");
   }
 }