NestJS Auth JWT e Controle de Acesso Rotas Privadas

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ม.ค. 2025

ความคิดเห็น •

  • @ozielsenior5310
    @ozielsenior5310 2 หลายเดือนก่อน +2

    Sensacional oh

    • @PhillCode
      @PhillCode  2 หลายเดือนก่อน +1

      Tamo junto! ✊

  • @matheusaraujo8617
    @matheusaraujo8617 2 หลายเดือนก่อน +1

    O melhor no assunto de Nest

    • @PhillCode
      @PhillCode  2 หลายเดือนก่อน

      Opaaa, valeu demais!

  • @Caleul.C
    @Caleul.C 3 หลายเดือนก่อน +1

    faz um vídeo ensinando a usar a autenticação do google com passport, dando continuidade a esse vídeo

  • @RafaelFerreira-hg6ps
    @RafaelFerreira-hg6ps 7 หลายเดือนก่อน +1

    Top demais seus conteúdos

    • @PhillCode
      @PhillCode  6 หลายเดือนก่อน +1

      Obrigado, Rafael! Sempre bom pra saber se tô fazendo o conteúdo certo pra vcs, valeu

  • @daSilvaPlay
    @daSilvaPlay 6 หลายเดือนก่อน +1

    👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻👏🏻

    • @PhillCode
      @PhillCode  6 หลายเดือนก่อน

      Valeeeeu!

  • @PabloGeokar
    @PabloGeokar 7 หลายเดือนก่อน

    Rapaz... o cara ensina rápido demais, tive que correr para fazer logo a minha inscrição antes da aula acabar.

    • @PhillCode
      @PhillCode  7 หลายเดือนก่อน +1

      😅 O pessoal pede vídeo curto, a gente faz 🤷 hehe

  • @andreluisferreira
    @andreluisferreira 7 หลายเดือนก่อน

    O MELHOR CONTEÚDO TOP SOBRE NESTJS

    • @PhillCode
      @PhillCode  5 หลายเดือนก่อน

      Valeu André Luis! 👊

  • @gustavogalo6730
    @gustavogalo6730 6 หลายเดือนก่อน +1

    essa notificação do slack no meio do vídeo me baitou kkkk

    • @PhillCode
      @PhillCode  6 หลายเดือนก่อน

      kkk total, até eu me bugo com essa notificação! Depois disso eu desliguei o som das notificações ;)

  • @AlanFMiranda
    @AlanFMiranda 7 หลายเดือนก่อน +1

    Que conteúdo top, maratonei os vídeos como uma série da netflix hehe não consegui parar, a tempos não encontro um conteúdo com essa qualidade!!! Show parabéns

    • @PhillCode
      @PhillCode  7 หลายเดือนก่อน +1

      Bora fazer o Netphillx, haha Que bom que está curtindo os vídeos, valeu!

  • @wesleyreis9361
    @wesleyreis9361 7 หลายเดือนก่อน +2

    Excelente! A série de vídeos sobre NestJS está muito boa; estou acompanhando todos.🚀

    • @PhillCode
      @PhillCode  6 หลายเดือนก่อน

      Valeu Wesley, bora continuar que ainda tem muito assunto de NestJS pra cobrir!

  • @oBMarques
    @oBMarques 7 หลายเดือนก่อน +2

    Caramba q dinâmica top. Direto ao ponto explicando sem enrolação nem fazendo parecer algo mais complexo do que é de verdade, já até animei aqui e fiz um nest new aqui pra ir acompanhando 🎉
    #gratidaoporfazeralgobom

    • @PhillCode
      @PhillCode  7 หลายเดือนก่อน

      Opa, que legal ler/ouvir isso! Bora aprender juntos, obrigado pela força 👊

  • @cezarfernando400
    @cezarfernando400 7 หลายเดือนก่อน

    que isso, ajudou d+, eu usava mais node nativo, ai comecei a usar nestjs esses dias, e estava com dificuldade de fazer a autenticação dessa forma com passport, vlw

    • @PhillCode
      @PhillCode  6 หลายเดือนก่อน

      Que bom que te ajudou, Cezar!

  • @marcov3467
    @marcov3467 7 หลายเดือนก่อน +1

    Por que não usar o bcrypt.hash()? Outra questão.. O fato do salt estar facilmente identificado no hash gerado (concatenado com ".") não facilita o ataque? Parabéns pelo conteúdo. O timing é sensacional, sem muita enrolação. Nem preciso aumentar a velocidade do vídeo haha

    • @PhillCode
      @PhillCode  6 หลายเดือนก่อน

      Fala aí Marco, boas perguntas! Pode (deve) usar o bcrypt numa boa; é o que todo mundo usa, é super seguro, então faz todo sentido. É que, como o canal tem uma pegada educacional, eu acho legal mostrar alternativas e, nesse caso, mostrar como um processo de hash funciona. Mas eu vou cuidar pra deixar isso mais claro em próximas oportunidades.
      Agora, quanto à segurança dessa abordagem de armazenar o salt e o hash, é seguro sim. É uma prática comum e bem aceita, e não expõe o sistema a ataques desde que algumas boas práticas sejam seguidas: 1) Usar um hash forte, como os criados pelo bcrypt e scrypt, que são algoritmos computacionalmente intensos, que dificultam ataques de força bruta. 2) Usar um salt suficientemente longo, tipo 16 bytes, que dificulta pre-computar os possíveis salts pra iniciar o ataque. 3) Salt único pra cada password, que torna extremamente difícil o uso de uma rainbow table pra iniciar o ataque. E claro, 4) restringir o acesso à base, implementar monitoramento, ferramentas de firewall, etc.
      Espero ter respondido, mas se restou alguma dúvida ou consideração, avise aí que conversamos ✌️

  • @rafa_veiga
    @rafa_veiga 4 หลายเดือนก่อน +1

    No 5:30 no método validate(payload:any) data pra tipar fazendo uma validação com o class-validator ou deixar o any ali é mais indicado?

    • @PhillCode
      @PhillCode  4 หลายเดือนก่อน +1

      Fala Rafael, blz?
      Dá tipar sim, e tipar as coisas é sempre melhor que deixar como any, nem que seja apenas com type ou interface, pelo menos pra deixar claras quais sãs as expectativas do método.
      Pra esse caso específico, você poderia criar a classe sendo algo como...
      ```
      import { IsString, IsNumber } from 'class-validator';
      export class JwtPayload {
      @IsNumber()
      sub: number;
      @IsString()
      username: string;
      }
      ```
      E mudar a implementação desse método para:
      ```
      async validate(payload: any): Promise {
      const jwtPayload = plainToInstance(JwtPayload, payload);
      await validateOrReject(jwtPayload);
      return jwtPayload;
      }
      ```
      Esse tipo de questionamento é sempre válido, tá... é que, nos vídeos, eu tenho que cortar uns caminhos pra não ficar muito grande. Então eu foco na questão central do vídeo e meio que atropelo o resto, se não o vídeo fica com 20-30 min e cara... pelas ferramentas aqui do TH-cam, vou te falar: a galera não assiste, não tem jeito 😅

    • @rafa_veiga
      @rafa_veiga 4 หลายเดือนก่อน +1

      @@PhillCode é eu imaginei que seria algo do tipo mesmo, surgiu a dúvida pq no outro vídeo vc acrescentou outra propriedade dai eu pensei será que ele fez de propósito ou é comum deixar assim. Muito obrigado por responder e parabéns pelo conteúdo!

    • @PhillCode
      @PhillCode  4 หลายเดือนก่อน +1

      @@rafa_veiga tmj, e obrigado por perguntar :) pode mandar, que eu uso essas perguntas pra pensar e repensar minha abordagem nos vídeos, além de as vezes virem ideias pra novos conteúdos. Sucesso ae!

  • @andreluisferreira
    @andreluisferreira 7 หลายเดือนก่อน

    @Phiilcode se porventura estiver usando o fastify essa biblioteca passport também vai funcionar, caso a resposta seja não funciona, você poderia me dar uma dica para aplicar no projeto com o fastify. Vlw 👍

    • @PhillCode
      @PhillCode  5 หลายเดือนก่อน

      Fala André Luis, desculpe a demora! Se ainda for útil, é possível usar o passport com o Fastify sim, usando um pacote pra fazer a compatibilidade.
      Adicione o @fastify/passport pra começar. No bootstrap da aplicação, você vai registrar o uso dessa lib, mais ou menos assim:
      app.register(fastifySecureSession, {
      secret: 'SECRET DO SEU ENV',
      cookie: { secure: false }, // true em produção
      });
      app.register(fastifyPassport.initialize());
      app.register(fastifyPassport.secureSession());
      De resto, é pra ser a mesma coisa. Espero ter ajudado!