Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

JWT token com spring, para autenticação de usuários

Ao tentar validar este método: Jws parseClaimsJws = setSigningKey.parseClaimsJws(token);, ele mostra esta exceção na tela

JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not be trusted.

Preciso de validar o token do usuário.

Debugando.

Ao fazer o login ele gera este token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIwMjY3OTUwMDYzNiIsImV4cCI6MTUyMjI3NjMxOX0.XBLiwl94He0ffVkf5TpcBKUob6PotuleSni5Hc9y8anPsES6WSO6f8Ki441UU_HGicyRAXmZKLBXsfQ2okFAqw

Quando ele pesquisa por um país ele utiliza este token, Consulta feito segundos depois. Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIwMjY3OTUwMDYzNiIsImV4cCI6MTUyMjI3NjMxOX0.XBLiwl94He0ffVkf5TpcBKUob6PotuleSni5Hc9y8anPsES6WSO6f8Ki441UU_HGicyRAXmZKLBXsfQ2okFAqw

Estou a dias tentando e não consigo passar a diante… kkkk

1 resposta
solução!

Consegui sim.

Criando assim: private String token(UsuarioEntity usuario) { String token = Jwts.builder().setSubject(usuario.getLogin()).signWith(SignatureAlgorithm.HS512, "usuarioLogado").setExpiration(new Date(System.currentTimeMillis() + 5 60 1000)).compact(); }

Buscando o token assim:

Claims body = null; try { body = Jwts.parser().setSigningKey("usuarioLogado").parseClaimsJws(token).getBody(); } catch (Exception e) { e.printStackTrace(); } return body;

Pelo que eu vi estava gerando de com um tipo e tentando buscar de outro.

Valeu pessoal