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

Token Expirado + Refresh Token

No exemplo da API o token tem um tempo para expirar após esse tempo o cliente tem que fazer autenticação novamente, ótimo! entretanto pense que o usuaŕio está lá trabalhando no sistema e um pouco antes de salvar o trabalho o token expira, isso não me parece ser uma situação legal para o usuário. Olhando exemplos de oauth na internet vi que eles usam um tal de RefreshToken que atualiza o token do usuário logado, como ficaria a implementação desse refresh token + jwt no exemplo da api do curso?

1 resposta
solução!

Oi Ricardo,

O token que estamos devolvendo na aplicação é o access_token, utilizado para autorizar acesso a um recurso pela api.

O refresh_token é utilizado apenas para gerar um novo access_token, quando esse expirar. A ideia é evitar que o usuário precise fazer uma nova autenticação quando seu access_token expirar.

Mas a biblioteca que estamos utilizando, jjwt, não tem suporte para a geração de refresh_token, pois isso seria responsabilidade de algum provider da especificação OAuth2, algo que foge do escopo da biblioteca.

Para ter o suporte completo ao OAuth, você pode subsituir o jjwt pelo módulo Spring Boot Oauth, porém será bem mais complexo de configurar e utilizar na API: https://docs.spring.io/spring-security-oauth2-boot/docs/current-SNAPSHOT/reference/htmlsingle/

Bons estudos!