Prezado, me deparei com um probleminha aqui que não consegui resolver.
No meu método para validar de o Token JWT é válido, o método verify(tokenJWT) não valida o token e sempre cai na exceção.
Segue o método
//Codigo da Api JWT para validar o token JWT
public String getSubject(String tokenJWT){
try {
var algorithm = Algorithm.HMAC256(secret);
return JWT.require(algorithm)
.withIssuer("API Voll.med")
.build()
.verify(tokenJWT)
.getSubject();
} catch (JWTVerificationException exception) {
throw new RuntimeException("Token JWT inválido ou expirado!");
}
}
O método getSubject esta sendo chamado na classe SecurityFilter mapeada com a anotation @Component. Nessa classe, sem chamar o método da classe que valida o token, a fila flui normalmente sem erro, porem o token não é validado. QUando aciono o método pra validar, ai cai na exceção de que o tokem não é valido ou expirou.
private String recuperarToken(HttpServletRequest request){
var authorizationHeader = request.getHeader("Authorization");
if (authorizationHeader == null){
throw new RuntimeException("Token JWT não foi enviado ao cabeçalho Authorization!");
}
return authorizationHeader.replace("Bearer", " ");
}
Não consegui identificar nenhum erro nos códigos, mas mesmo assim, o tokem sempre é invalido.
Alguem sabe como resolver?