Implementando Refresh Token utilizando JWT

Поделиться
HTML-код
  • Опубликовано: 7 ноя 2024
  • Refresh Token é uma técnica muito utilizada para revalidar o acesso ao sistema e pode ser implementado de diversas formas. Nesse vídeo, você verá como implementar essa técnica utilizando JWT (JSON Web Token) que foi inspirada em um vídeo do MVP Bruno Brito.
    Assista a live na íntegra: www.youtube.co...
    Vídeo do Bruno Brito: • REFRESH TOKEN DA FORMA...
    ---------------------------------
    Comunidade no Discord: bit.ly/andresec...
    Siga-me também nas plataformas:
    Site/Blog: andresecco.com.br
    Twitch: / andresecco
    Facebook: / andresecco.fanpage
    Twitter: / andre_secco
    Instagram: / secco.andre
    GitHub: github.com/and...
    #RefreshToken #JWT #Token

Комментарии • 6

  • @kainafa
    @kainafa Год назад

    Conteúdo de ótima qualidade, parabéns pela aula André

  • @pedrobenicio4955
    @pedrobenicio4955 Год назад +3

    Talvez este seja o vídeo mais completo e detalhado que vi de refresh token até agora...Excelente vídeo e me ajudou bastante!
    Mas eu tenho uma dúvida na qual não consigo pensar rápido em uma solução fácil: E se este refresh-token for roubado por alguém? Como é algo que detêm um poder muito grande, tendo em vista que ele pode gerar tokens de autenticação para o usuário em questão, esta solução não se torna um problema? E se alguém com más intenções rouba este token, como ficaria? Porque pelo que vejo, o grande problema de tudo é realmente este token JWT do refresh token cair nas mãos erradas..
    Geralmente eu tendo a salvar o Refresh-token no Cookie com HTTPOnly ativado pra evitar seu acesso via javascript. Mas aí gera um outro problema que é os ataques CSRF...Perceba que um problema vai levando a outro problema. Não consigo enxergar uma saída tão fácil assim pra realmente dar uma segurança maior pro refresh-token.

    •  Год назад +3

      Olá Pedro! Que bom que gostou e valeu pelo feedback!
      Sobre a questão de "sequestro" dos refresh-token, realmente. Há algumas formas de dificultar esse roubo. Se você salvar ele como cookie, além de defini-lo como HTTPOnly, você pode usar também a propriedade SameSite para se proteger de CSFR.
      Mas para ter maior segurança ainda, o ideal não seria utilizar o Refresh-Token como um JWT e sim como um token qualquer que seria persistido em uma base de dados. Sempre que alguém fizesse um login no sistema ou até mesmo solicitasse um novo token via refresh-token, os outros refresh-tokens seriam invalidados. Dessa forma, se o atacante não conseguiria utilizar eternamente o RF para sempre ter acesso, pois quando o usuário legítimo o fizesse, ele teria seu RF invalidado e aí quebraria o ciclo.

    • @pedrobenicio4955
      @pedrobenicio4955 Год назад +3

      ​@ muito obrigado por tirar a dúvida!
      O problema de invalidar os outros refresh tokens é que já afetaria o login em outros dispositivos na qual a aplicação estaria logada. Lidar com refresh-token na questão de segurança está sendo bastante complicado e desafiador pra mim. Pois dificilmente consigo achar uma solução onde a segurança e o UX estão andando juntos. Sempre está caindo ou pra um lado, ou para o outro e nunca possui um bom equilíbrio

    •  Год назад +2

      Realmente Pedro, sempre temos um trade-off. Talvez controlar os RF por dispositivo e invalidar apenas daquele dispositivo em si. Enfim, algumas opções que dá para ir explorando.
      Inclusive se quiser participar do nosso discord, lá fica mais fácil de trocar ideias com outros profissionais também: bit.ly/andresecco_discord

  • @Zanin001
    @Zanin001 Год назад

    Ótima aula