Boa Noite, Estou desenvolvendo um app android que se comunica com um servidor java via REST e usa JWT para fazer a autenticação e autorização e quando faço uma requisição (no caso a 1º sem o token ) a api do jwt me devolve o token e o adiciono na resposta, até este ponto tudo ok. Na requisição com o token eu sempre recebo a mensagem
io.jsonwebtoken.SignatureException: JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not be trusted.Pesquisando um pouco vi que sugerem fazer a manipulação de Chave Pública e Privada é julgo um pouco complexo visto que no curso de mean mostra o uso de forma mais simples. Se alguém puder ajudar ficarei grato. Segue abaixo também os métodos responsáveis pela geração e parse do token.
GERAÇÃO
    public String generateToken(String username) {
        Map<String, Object> claims = new HashMap<String, Object>();
        claims.put(CLAIM_KEY_USERNAME, username);
        claims.put(CLAIM_KEY_AUDIENCE, "mobile");
        claims.put(CLAIM_KEY_CREATED, new Date());
        return generateToken(claims);
    }
    String generateToken(Map<String, Object> claims) {
        JwtBuilder buider=Jwts.builder();
        buider=buider.setClaims(claims);
        buider=buider.setExpiration(generateExpirationDate());
        buider=buider.signWith(SignatureAlgorithm.HS512, "secret");
        return buider.compact();
    }Parse do Token
private Claims getClaimsFromToken(String token) {
        Claims claims;
        try {
            JwtParser parser=Jwts.parser();
            parser=parser.setSigningKey("secret");
            Jws<Claims> jws=parser.parseClaimsJws(token);
            claims=jws.getBody();
        } catch (Exception e) {
            e.printStackTrace();
            claims = null;
        }
        return claims;
    } 
            