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

new Date(Date + String)

Professor,

Percebi que o trecho que código onde o eclipse avisa que o construtor de Date está depreciado, está causando exception. Existe alguma forma de contornar isso? Tentei com LocalDate mas o setExpiration recebe um Date mesmo.

Construtor depreciado:

@Service
public class TokenService {

    @Value("${forum.jwt.expiration}")
    private String expiration;

    @Value("${forum.jwt.secret}")
    private String secret;

    public String gerarToken(Authentication authenticate) {
        System.out.println("secret: \n" + secret);

        Usuario user = (Usuario) authenticate.getPrincipal();
        Date hoje = new Date();

        return Jwts.builder().setIssuer("API")
                .setSubject(user.getId().toString())
                .setIssuedAt(hoje)
                .setExpiration(new Date(hoje.getTime() + expiration))
                .signWith(SignatureAlgorithm.HS256, secret)
                .compact();
    }
}

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade ) )

Construtor default:

@Service
public class TokenService {

    @Value("${forum.jwt.expiration}")
    private String expiration;

    @Value("${forum.jwt.secret}")
    private String secret;

    public String gerarToken(Authentication authenticate) {
        System.out.println("secret: \n" + secret);

        Usuario user = (Usuario) authenticate.getPrincipal();
        Date hoje = new Date();

        return Jwts.builder().setIssuer("API")
                .setSubject(user.getId().toString())
                .setIssuedAt(hoje)
                .setExpiration(new Date())
                .signWith(SignatureAlgorithm.HS256, secret)
                .compact();
    }

}

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade ) )

1 resposta
solução!

Desculpe, eu não tinha visto que você usou o parseLong no finalzinho da aula. Resolvido obrigado!