Spring Security - JWT - Autenticação e Autorização - Parte 1

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

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

  • @RodrigoFreitasAlv
    @RodrigoFreitasAlv  Год назад +7

    Projeto no github: github.com/Rodsafreitas/security-jwt

  • @ErickBruno-zn4tw
    @ErickBruno-zn4tw Год назад +3

    Mano do céu, gastei dois dias para entender, o funcionamento do JWT Kara parece que foi um estralo, na minha cabeça quando entendi, nossa o sabor da vitória e maravilhoso, e por isso que falo programação não precisa nascer com dom , isso se chama persistência e dedicação amor a profissão, acho que chamo isso de curiosidade, acho que talento e outra coisa quem nasce com uma voz linda para cantar, para ser locutor, um talento para jogador isso e dom , agora profissão e dedicação claro que tem gente com maís facilidade de aprendizado, mas isso não tira o mérito de quem que se dedicar show de maia seus vídeos parabéns ❤❤❤❤❤

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  11 месяцев назад +2

      Muito obrigado mano. Isso ai, programação querer estudo e dedicação

  • @LucasSantos-lt1gc
    @LucasSantos-lt1gc 10 месяцев назад +1

    Aula muito boa Rodrigo, fiquei preso 2 dias ainda na mesma aula porquê eu tinha me esquecido de colocar o @Autowired do AuthenticationManager. Conteúdo muito bom!

  • @wesleysousa7150
    @wesleysousa7150 Год назад +1

    me salvou essa aula, meu muito obrigado. Tô fazendo um curso porém a versão que ele usa o spring e a dependencia jwt é bem antiga. Procurei várias coisas e não achei nada. Mas esssa aula salvou mesmo. Consegui ver meu token gerado.

  • @evaldofr
    @evaldofr Год назад +1

    Caramba... tirou todas as minha dúvidas.... já até modifiquei o meu código....
    Excelente,,, parabéns....

  • @cr10junior
    @cr10junior Год назад +1

    Que conteúdo foda, parabéns demais! incrição garantida!

  • @chevrand
    @chevrand Год назад +2

    Ótimo vídeo, Rodrigo! Seu conteúdo tem me ajudado bastante. Obrigado por compartilhar seu conhecimento.

  • @nicolaubr3
    @nicolaubr3 Год назад +2

    ja dei o like e marquei como assistir depois, eu passei muita raiva com JWT porque atualizou a documentação, valeu

  • @K0dy927
    @K0dy927 Год назад +1

    Parabéns pelo vídeo Rodrigo, me ajudou demais!

  • @diegoduarte98
    @diegoduarte98 Год назад +1

    Didática excelente! +1 inscrito.

  • @YoutuberMaskarado
    @YoutuberMaskarado Год назад +1

    Rodrigo uma duvida. Não sei se tinha outro video a respeito da criação de usuario, mas eu estou vendo esse video seu como se fosse o primeiro. Na minha api eu ja crio o usuario usando BCrypt de uma forma. Esse outro bean do BCrypt funciona com ele? E outra duvida, qual a magica que faz com que vc passando um usuario e senha ele consulta pelo username, mas acho que faz a comparação com a senha, é isso que faz no código né? Não consegui entender em qual parte isso acontece, ja que aparentemente no código não aparece

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Então, eu acabei criando gerando a senha por um site e salvando no banco de dados direto, mas da pra fazer pelo codigo também. Eu vou criar um video parte 5 explicando essa parte de criar usuários, senha e mostrar algumas coisas em relação a isso que eu vi que gerou duvida na galera.
      Então para ele comparar a senha eu utilizo esse metodo (github.com/Rodsafreitas/security-jwt/blob/master/src/main/java/br/com/spring/security/security/service/AuthenticationService.java):
      @Override
      public UserDetails loadUserByUsername(String username)
      throws UsernameNotFoundException {
      return usuarioRepository.findByLogin(username);
      }
      e ele pega o usuario com base no username que eu passei e vai devolver ele completo, ali ele devolve um UserDetails que é uma implementação que minha classe Usuario faz e como eu to devolvendo o usuario que tem aquele username ele vai pegar o objeto todo e dar um get na senha dele e fazer uma comparação com a que eu to passando. Esse processo da comparação é feito somente eu criando uma classe e implementando esse metodo e o spring se encarrega de fazer toda essa parte, eu só preciso devolver uma classe que implementa o UserDetails.

  • @wellingtonfjr
    @wellingtonfjr Год назад +1

    Ótima explicação!! Mais um inscrito.

  • @antonioluiz2145
    @antonioluiz2145 Год назад +1

    Rodrigo, tudo bem. Estou desenvolvendo um sistema com Spring Boot e Spring Security. Não gostaria de usar um front-end muito complexo. Estou tentando usar o Thymeleaf. Como fazer isso usando o JWT, é possível? Como incluir o Token em todas as requisições?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      opa, tudo bem e voce? da sim, da pra trabalhar com isso utilizando o js junto. Eu vou fazer um video mostrando como trabalhar com esse jwt do lado do front-end

  • @larissaroberta8461
    @larissaroberta8461 Год назад +2

    Só pra mim entender, esse parte ".withIssuer("PRODUTOS")" nos minutos 6:52 seria pq o seu microserviço é de produtos certo? No caso o meu seria de empresas então eu colocaria "EMPRESAS"? Não vi o projeto desde o começo, estou vendo somente a parte de implementar a autenticação e fiquei com essa duvida. Obrigada. Adoro seus videos.

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Isso pode ser o nome do seu software e a identificação só
      Valeuzao

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

    Ótimo vídeos Rodrigo, tá faltando só uns vídeos como trabalhar com spring e redis

  • @ytNexus2k
    @ytNexus2k Год назад +4

    Cara, você é top, de verdade, continue a produzir conteudo =]

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

    Muito bom o conteúdo, porém tive uma certa dificuldade inicial configurando as dependências, porém depois de uns minutos consegui. Seria interessante colocar no começo do video quais dependências vão ser utilizadas

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

      opa mano, valeu! beleza, vou mostrar no começo do video mas também tem aqui o projeto no github caso precise: github.com/Rodsafreitas/security-jwt/tree/master

  • @JulioCesarMoraes-oj8kf
    @JulioCesarMoraes-oj8kf Год назад +2

    fala Rodrigo. Excelente conteudo. Poderia informar as dependencias usadas no gradle?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      opa! sim, aqui:to com essas aqui implementation 'com.auth0:java-jwt:4.2.1'
      implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
      implementation 'org.springframework.boot:spring-boot-starter-security'
      implementation 'org.springframework.boot:spring-boot-starter-web'
      runtimeOnly 'com.mysql:mysql-connector-j'
      tem o codigo no github também caso precise: github.com/Rodsafreitas/security-jwt/tree/master

  • @andre100010
    @andre100010 Год назад +1

    vídeo muito top

  • @eudumal
    @eudumal Год назад +1

    só tive um problema, no vídeo você já possui um usuário cadastrado no banco de dados, que já possui o token porém no vídeo você não mostra como foi inserido... não consegui testar a rota /login por isso, mas gostei bastante do video.

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +2

      bcrypt.online usa esse site pra gerar um hash da senha
      Aí você insere o usuário lá
      Valeu
      Qualquer coisa comenta aí

  • @gabriellucena5813
    @gabriellucena5813 Год назад +1

    Excelente vídeo!!

  • @leonardocondeaoun-usp8143
    @leonardocondeaoun-usp8143 Год назад +2

    Tive que fazer algumas mudanças na classe Configuration, pois você usou alguns recursos removidos no Spring Security 6, seria legal você fazer uma atualização no projeto!

  • @lazaroalexandre4188
    @lazaroalexandre4188 Год назад +2

    Opa! Daria para eu fazer a autenticação sem o uso de uma senha, ou seja, somente com o e-mail?
    **Explicação:**
    Em um sistema qualquer, um usuário solicitará a criação de uma conta. Um dos dados inseridos será o e-mail. O administrador do sistema validará o cadastro desse usuário, trocando o status de false para true. Em seguida, o usuário receberá um e-mail que sua conta foi cadastrada. Em seguida, o usuário poderá se logar com a conta do Google usando o mesmo e-mail que foi enviado ao administrador. Veja o passo a passo:
    - O Frontend faz uma solicitação de login ao Google;
    - O Google disponibiliza um token com o e-mail ao Frontend;
    - O Frontend envia esse email para o Backend;
    - O Backend verifica se o e-mail já existe no Banco de Dados;
    - Caso o e-mail exista, é criado um token de autorização que permite o Frontend fazer conexão com o Backend.

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Se eu compreendi bem daria sim, mas não teria só como mostrar isso por chat. Ai daria pra usar conta do google, facebook, etc.

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

    Ótimo vídeo, mas estou com erro na classe Configurations, não consigo usaor o antMatchers parece a mensagem: Cannot resolve method 'antMatchers' in 'AuthorizationManagerRequestMatcherRegistry'

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

      Valeu guilherme, tenta com requesMatchers no lugar de antMatchers pra ver se resolve.

  • @rac018
    @rac018 Год назад +1

    Rodrigo, parabéns pelo vídeo, cara eu tenho uma aplicação de terceiro que gera o JWT e na minha aplicação preciso apenas validar o token e liberar o acesso. Como posso fazer isso?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Valeu mano! Você tem a palavra secreta? Vai ser a mesma coisa do vídeo na parte da validação só que qm tá gerando o jwt precisa te passar a palavra secreta

  • @nailtonsimoes3738
    @nailtonsimoes3738 Год назад +1

    muito bom mano!! me ajudou bastante

  • @ualacesantos3654
    @ualacesantos3654 Год назад +1

    Excelente aula, parabéns. Só faltou o link do repositório.

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Valeu mano, vou subir no github e postar aqui

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +2

      Ta na mão: github.com/Rodsafreitas/security-jwt

    • @ualacesantos3654
      @ualacesantos3654 Год назад +1

      @@RodrigoFreitasAlv show demais, parabéns pelo conteúdo, iniciativa e didática.

  • @franzecs1
    @franzecs1 Год назад +1

    Boa Noite. Ótimo vídeo. Quais as dependências que você utilizou?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Boa noite, valeu, vou colocar na descrição também.
      implementation 'com.auth0:java-jwt:4.2.1'
      implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
      implementation 'org.springframework.boot:spring-boot-starter-security'
      implementation 'org.springframework.boot:spring-boot-starter-web'
      runtimeOnly 'com.mysql:mysql-connector-j'

  • @GeraldoJA
    @GeraldoJA Год назад +1

    Ao final do video, ao tentar receber o token no login, aconteceu o seguinte erro:
    "o.s.s.c.bcrypt.BCryptPasswordEncoder : Encoded password does not look like BCrypt"
    Eu adicionei uma senha simples '123' no Banco.
    Como faz para salvar de forma encriptografada como no exemplo do seu vídeo?

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

      bcrypt.online/ usa esse site por exemplo, algum site assim que gera a senha criptografada pra você

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

      @@RodrigoFreitasAlv, funcionou perfeitamente! Muito obrigado pela atenção e rapidez na resposta.

  • @CanalDoCalasans
    @CanalDoCalasans Год назад +1

    Excelente Aula, didatica cirurgica, parabens.
    O meu está dando um erro, parece não aceitar o : antMatchers, e está falando que meu csrf está deprecated , a msg:
    The method csrf() from the type HttpSecurity has been deprecated since version 6.1 and marked for removal

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

      public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception{
      return http.authorizeHttpRequests(authorize -> {
      authorize.requestMatchers(HttpMethod.POST, "/api/v1/client/login").permitAll();
      authorize.requestMatchers(HttpMethod.POST, "/api/v1/mechanic/login").permitAll();
      authorize.requestMatchers(HttpMethod.POST, "/api/v1/clients").permitAll();
      authorize.requestMatchers(HttpMethod.GET, "/api/v1/clients").permitAll();
      authorize.requestMatchers(HttpMethod.POST, "/api/v1/mechanics").permitAll();
      authorize.anyRequest().authenticated();
      })
      .csrf(c -> c.disable())
      .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
      .build();
      }
      fiz assim e funcionou para mim

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +2

      valeu mano, tenta com o requestmatchers e ve se funfa

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

      @@RodrigoFreitasAlv Deu bom...obrigadooo

  • @luloch
    @luloch Год назад +1

    Boa tarde Rodrigo, como poderíamos implementar o CORS para uma aplicação Angular nesse caso?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Boa tarde mano, vou fazer um vídeo sobre o cors e mostrar

  • @marciomdesouza1190
    @marciomdesouza1190 Год назад +1

    Muito bom seus vídeos mas empaquei na parte do JWT, essa classe mudou e fiquei perdido!

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +2

      Valeu mano! Tu deu uma olhada no código do github? Eu subi o projeto lá vê se te ajuda

  • @gaabrielfneves
    @gaabrielfneves Год назад +1

    Boa tarde Rodrigo, você utilizou Spring boot 3? Não estou conseguindo achar o import do AuthenticationManager usando ele.

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Boa tarde, em tese assim deveria funcionar:
      @Bean
      public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration)
      throws Exception {
      return authenticationConfiguration.getAuthenticationManager();
      }
      Qualquer coisa sobe no github que eu baixo e tento ver

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

      adiciona a dependência do spring security

  • @alisonrodrigues2188
    @alisonrodrigues2188 Год назад +1

    Boa noite, Rodrigo! Segui o seu tutorial, mas minhas requisições estão com retorno 403 (Forbidden)

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +2

      Bom dia, Alison. Então, github.com/Rodsafreitas/security-jwt esse é o link do repo, da uma olhada se tem alguma coisa de diferente, qualquer coisa depois que olhar se não der certo, me manda 1 link do github com o teu projeto para ver se eu pego a diferença.

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

      @@RodrigoFreitasAlv cara, ontem mesmo eu peguei o que estava acontecendo rsrsrs no meu controller eu tinha definido um caminho padrão @RequestMapping("/v1/api") e nos antMatcher eu passava apenas /login

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

      @@RodrigoFreitasAlv E sabe o que eu queria ver com você também, é o seguinte, eu estou fazendo uma aplicação onde apenas eu queria ter autorização para a rota /createUserAdmin, pq eu vou criar um usuário uma vez só e depois fazer login para visualizar uma rota /listMessages, mas apenas eu vou ter acesso a essas rotas, aí me veio a dúvida... se eu subir essa api na nuvem, como eu vou fazer para apenas eu poder criar meu usuário e visualizar as mensagens, sendo que se eu deixar a rota /createUserAdmin como permitAll qualquer pessoa pode acessar e criar um usuário

  • @DevSamuquinha
    @DevSamuquinha Год назад +1

    Muito bom o vídeo! Vou usar para implementar igual na API que estou fazendo.
    Mas me tira uma dúvida?
    Eu estou querendo criar uma tabela em mysql para armazenar usuário e senha, mas a senha a ser armazenada no banco já precisa estar criptografada, correto?
    A minha ideia é que uma pessoa administradora inclua diretamente na tabela essas 2 informações, com comandos SQL, por exemplo.
    Tem como a pessoa administradora pegar a senha e criptografar externamente, com alguma ferramenta qualquer, para poder incluir manualmente no banco depois?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      valeu, tem sim, foi o que eu fiz inclusive. eu usei um site que criptografa e salvei no banco diretamente. Você pode também criar algum tipo de endpoint que recebe a senha descriptografa e criptografa ela e salva.
      tipo esses sites assim: bcrypt.online/ daria pra salvar direto rodando um script de insert.

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

      @@RodrigoFreitasAlv Show de bola, eu consegui segui o passo a passo e deu tudo certo.
      Agora eu estou tentando fazer um handler de excecao TokenExpiredException pra caso o token esteja expirado. Mas quando o erro ocorre o fluxo do programa nao cai dentro do handler...
      Me parece que esta tudo ok, verifiquei que a excecao ocorre, mas por algum motivo esse handler em expecifico parece estar sendo ignorado.
      Vc tem alguma ideia do que pode ser o problema?

  • @user-tg6iw9eq6v
    @user-tg6iw9eq6v Год назад +2

    Configurei exatamente igual ao seu mas ele gera um 403, você sabe me dizer como posso seguir para liberar o acesso ao /login?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Na classe de configuração eu liberei o /login

    • @user-tg6iw9eq6v
      @user-tg6iw9eq6v Год назад +2

      ​@@RodrigoFreitasAlv eu segui o mesmo código que o seu, só que tive que usar o request matchers, e liberei o acesso para o /login, mas quando envio o post no postman ele da o 403 :/

    • @georgesdocarmo2613
      @georgesdocarmo2613 Год назад +1

      No meu caso libera no Postman mas não libera no navegador

    • @user-tg6iw9eq6v
      @user-tg6iw9eq6v Год назад +1

      @@georgesdocarmo2613 o meu nao libera em nenhum deles :/ spring security tem sido o mais dificil até agora para eu aprender

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      manda o arquivo de config de voces, ou se preferirem podem subir o codigo no github do projeto pra eu ver melhor todo o contexto

  • @wemersonaraujo5738
    @wemersonaraujo5738 Год назад +1

    Tenho bastante dúvidas na parte de criação de rotas em projeto spring com themyleaf.
    Exemplo: @{/cliente{id}
    Esse tipo de sintaxe me deixa meio perdido..

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Cara, tem uma playlist aqui no canal com thymeleaf:
      ruclips.net/p/PLXjt2Adje6u5aZvafdp4vpF7v3Z8mdcuE

  • @PedroLorenciniFavarão
    @PedroLorenciniFavarão Год назад +1

    Na classe para autorizar as rotas "Configurations" eu coloquei a rota "/login", mesmo assim não está sendo autorizada acessa-la, alguem pode me ajudar?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      manda teu arquivo de configuração pra eu ver como voce fez

  • @DouglasCandido-h3r
    @DouglasCandido-h3r 5 месяцев назад +1

    se cada vez ue vc falasse "tá" eu ganhasse 1 dólar rsrs.
    brincadeiras a parte, excelente vídeo

  • @othaviosousa2269
    @othaviosousa2269 Год назад +1

    Demais! Ganhou mais um inscrito 😀

  • @robsontrento2581
    @robsontrento2581 2 месяца назад +1

    Fala Man, esse site pra criptografar a senha, vc copia e insere ela manualmente lá no banco mesmo?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Месяц назад +1

      Isso, para agilizar eu acabei usando o insert com a senha criptografada no banco, vou tentar trazer um vídeo parte 6 pra gente fazer um forms de cadastro onde a gente coloca o usuario e senha e ele criptografa e salva no banco pra gente

  • @leandroalmeida1210
    @leandroalmeida1210 Год назад +2

    Cara, um ponto a melhorar, tenta explicar mais as coisas, em 2:17 do video vc mostra uma class Authentication, e eu não sei nem de onde ela saiu, isso e classe gerada em tempo de execução?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Opa, beleza. Não é uma classe do proprio modulo do spring

  • @lauranunes8149
    @lauranunes8149 Год назад +1

    Opa Rodrigo, bele? Ótimo vídeo, mas to com dificuldade pq minha rota de login só da 403 Forbidden. Consegue dar um help?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Opa beleza e você? copia a classe de configuração aqui para eu ver

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +2

      o youtube bloqueou por causa do link o comentario mas deu pra pegar o github mas eu vi que ta diferente esse metodo:
      @Bean
      public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
      return http.csrf().disable()
      .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
      .and().authorizeHttpRequests()
      .antMatchers(HttpMethod.POST, "/login")
      .permitAll()
      .antMatchers(HttpMethod.GET, "/home")
      .permitAll()
      .anyRequest().authenticated()
      .and().addFilterBefore(filter, UsernamePasswordAuthenticationFilter.class)
      .build();
      }
      no seu codigo voce da um http.httpBasic que não precisaria e no final voce retorna http.build só sem ter pego a alteração q voce usou logo em cima entao e como se n tivesse aplicado configuração nenhuma

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

      @@RodrigoFreitasAlv Opa, obrigada. Eu copiei, mas fica me dando 403. Se colocar o httpBasic() me retorna 401. Já não sei mais o que fazer :(

  • @RaianNolaco
    @RaianNolaco Год назад +2

    Estava seguindo o video certinho , porem em varias partes está sendo usado coisas antigas e que não estão sendo mais usadas :(

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      eu to pensando em refazer esse video utilizando uma versão mais recente, onde voce ta tendo problemas no codigo?

    • @RaianNolaco
      @RaianNolaco Год назад +1

      @@RodrigoFreitasAlv por enquanto não são problemas em si, o "problema" é ficar voltando versão do spring boot e das dependências e afins, mas seguindo em versões antigas funciona traquilo

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +2

      ah blz. Esse negocio das compatibilidades do spring é meio zoado mesmo, porque toda hora tem uma att ai quebra tudo se tentar fazer do modo antigo

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

      @@RodrigoFreitasAlv sim... eu ia dizer q nn deu problema mas agr deu kkkk, está sempre dando como se o usuario ou senha estivesse errado não sei aonde posso estar errando pq, debugando o código ele traz o usuario certinho, porem parece q ele não está descriptografando a senha ou algo assim, sabe oq pode ser?

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

      decobri q está dando erro de badcredentials

  • @caiohenrique3539
    @caiohenrique3539 Год назад +1

    ótimo vídeo, didática top!! Eu acho até que deva ser simples, mas fiquei com uma dúvida, onde ou o que tu usou para criptografar a senha "123"?? Huehue

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +2

      Valeu mano. Então, Caio, eu usei um site tipo bcrypt generate algo assim ai eu passo o 123 e ele retorna o dado criptografado kk

    • @caiohenrique3539
      @caiohenrique3539 Год назад +1

      @@RodrigoFreitasAlv saquei, eu tentei usar um aqui, ele me retornou um erro falando algo da criptografia, mas ao menos acho que tô no caminho kaka
      Valeu mano, abraço!!

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +2

      @@caiohenrique3539 boa, tenta ver os saltos também

    • @caiohenrique3539
      @caiohenrique3539 Год назад +1

      @@RodrigoFreitasAlv feshow, mais uma vez muito obrigado

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +2

      @@caiohenrique3539 de nada mano

  • @thiagoleite3255
    @thiagoleite3255 Год назад +1

    Boa tarde, meu nobre. Obrigado pela aula! :)
    Pode postar o link do github depois?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Eae boa tarde Thiago, o link aqui: github.com/Rodsafreitas/security-jwt

  • @jessedev6930
    @jessedev6930 Год назад +1

    Se pode fazer algo similar só que não usando os tokens?

  • @matrgh
    @matrgh Год назад +1

    poderia disponibilizar o codigo fonte

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      eae mano, github.com/Rodsafreitas/security-jwt tem aqui

  • @leandromoreira7115
    @leandromoreira7115 Год назад +8

    Rpz esse assunto é o mais complexo que eu ja vi, pois todo video que eu assisto cada um faz de um jeito

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +2

      Essas implementações de segurança são bem complexas mesmo. Eu tentei abstrair bastante, você achou que esse método que eu usei ficou complexo? se puder dar a sua opinião pro próximo vídeo.
      Eu tentei resumir bastante ali usando somente o necessário e indo de partes.

    • @leandromoreira7115
      @leandromoreira7115 Год назад +2

      @@RodrigoFreitasAlv Sua abordagem foi boa, mas ja vi varias formas diferentes, inclusive no trabalho e todas as formas que eu vi sempre tem uma grande diferença entre elas, mas sua explicação ficou show

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      valeu mano, pior que é vdd, ja trabalhei usando uma forma diferente mesmo

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

      @@leandromoreira7115 Simm cara! estou notando isso, cada lugar implementa de uma forma diferente, e o pior é que alguns lugares ditam como regra como "é preciso fazer desta forma", já vi um guia mesmo que orientava criar mais tabelas no banco afim de armazenar as Roles, sendo que pelo o que eu entendi, dá para abstrair isso na maioria dos casos

    • @leandromoreira7115
      @leandromoreira7115 Год назад +2

      @@Brunodelucasdev pois é man, me da agonia de ter que aprender isso por conta disso rsr

  • @programandomeminutos
    @programandomeminutos Год назад +1

    Rodrigo, já é a versão spring security 6?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Não, mas os comandos ali funcionam da mesma forma caso você já esteja com o 6 baixado.

  • @jadielsantana7477
    @jadielsantana7477 Год назад +1

    Salve mano.
    Parabéns pelo excelente conteúdo.
    Você poderia disponibilizar o link do github?

  • @patrickcavalcantegomes4463
    @patrickcavalcantegomes4463 Год назад +1

    qual site vc usou para criptografar a senha?

  • @shelby9737
    @shelby9737 Год назад +1

    opa tem discord? to tendo dificuldade em rodar tipo ja tentei de tudo

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      eae mano, sobe no github e me passa o teu nome e o nome do projeto (n manda o link pq o youtube bloqueia) que eu vejo aqui o que ta diferente, e me passa o erro que ta dando.

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

    ë uma pena que o paspalho não fala quais são as dependências necessárias né?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      Opa mano, blz? eu deixei o projeto no github aqui nos comentarios ai la da pra pegar as dependencias:
      "Projeto no github: github.com/Rodsafreitas/security-jwt
      "
      nesse vídeo acabei esquecendo de mostrar no começo, desculpa.

  • @leandro19jorge
    @leandro19jorge Год назад +1

    Cade o git do projeto?

  • @blackburn673
    @blackburn673 Год назад +1

    Por que o nome produtos?

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +2

      Coloquei um nome aleatório só pra demonstrar que irá trazer resultados, ai serve pra qualquer coisa: lista de usuários, etc.

    • @blackburn673
      @blackburn673 Год назад +1

      @@RodrigoFreitasAlv tirou onda com esses vídeos

    • @RodrigoFreitasAlv
      @RodrigoFreitasAlv  Год назад +1

      @@blackburn673 valeu mano