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

Alterar senha depois da geração do JWT

Olá, fiz um teste alterando a senha após a geração do jwt da uri /auth, porém ainda o backend não recusa a requisição. Sei que no JJwt ele não conseguirá saber disso pois no Jwts.parser().setSigningKey(this.secret).parseClaimsJws(token) é validado o token sem precisar fazer consulta no banco de dado.

Porém no "UsernamePasswordAuthenticationToken(usuario, usuario.getSenha(), usuario.getAuthorities())" ele faria alguma critica quando eu incluísse a senha como argumento, porém nao funcionou.

Inclusive fique ainda na duvida qual o motivo de ainda passarmos para o SecurityContextHolder um authentication , ou seja , qual a função do UsernamePasswordAuthenticationToken na aplicação?

1 resposta
solução!

Oi Osnir,

Essa classe do Spring é utilizada apenas para informar ao Spring, em memória durante a requisição, quem é o usuário que está autenticado no momento.

O Spring não dispara a consulta ao banco de dados, para validar se o usuário/senha estão corretos ou não.

E nesse ponto não é necessário ir ao banco de dados, pois se a requisição está chegando com um token JWT válido, significa que o usuário já efetuou login anteriormente, no qual foi feita a validação no banco de dados do usuario/senha.

Bons estudos!