PROJETO FULLSTACK COM LOGIN USANDO SPRING SECURITY + JWT | BACKEND

Поділитися
Вставка
  • Опубліковано 19 жов 2024

КОМЕНТАРІ • 117

  • @devlucasgalvao
    @devlucasgalvao 6 місяців тому +12

    Tava fazendo um sistema mais robusto q inclui login/cadastro e o youtube me recomenda essa perola, continua com o bom trabalho!

  • @josevictorcatalani3101
    @josevictorcatalani3101 4 дні тому

    material muito legal, estou querendo reviver uns aprendizados que tive na faculdade de java, e estava com dificuldades de achar algo atual e que realmente fosse preparado para um sistema robusto e de nível de mercado, parabéns pelo conteúdo

  • @Alex-up9fh
    @Alex-up9fh 6 місяців тому +5

    Você poderia fazer um video de como estudar documentacao em Java. Digo de como entender os métodos, classes etc..

  • @danielamaral2528
    @danielamaral2528 6 місяців тому +17

    Fernanda, parabéns pelo conteúdo, tu consegue explicar de forma bem didática. Poderia fazer um projeto implementando o Refresh Token? Acho que poderia ser uma continuação desse projeto com a implementação desse recurso. Obrigado!

  • @wevertontsousa
    @wevertontsousa 6 місяців тому +3

    O melhor vídeo da Kipper "falo da explicação", cada detalhe bem explicado e de forma direta, perfeito!

  • @Jorge_AS_Fernandes
    @Jorge_AS_Fernandes 6 місяців тому +2

    Gostei muito destes 2 tutoriais.
    Consegui acompanhar e está a funcionar deste lado.
    Bom trabalho!!

  • @RodrigoCappadocius
    @RodrigoCappadocius 6 місяців тому

    Obrigado por voltar o meu ânimo pra criar projetos pessoais e ver se faço algo como freelancer, gostei demais dos seus conteúdos, bem objetivo e muito explicativo. 🎉

  • @matheusnascimento6027
    @matheusnascimento6027 Місяць тому

    Não sou de comentar videos, mas achei a explicação excelente, foi a melhor explicação de security que encontrei no youtube e na Udemy! Obrigado pelo ótimo video!

  • @lucasbarbosa162
    @lucasbarbosa162 6 місяців тому

    Parabéns! Trabalho sensacional e explicação tão excelente quanto!

  • @mateusfonseca988
    @mateusfonseca988 4 місяці тому +1

    Ficou muito massa, depois de dias vendo como implementa segurança, vendo videos gringos dos caras criando trocentas classes, esse simplesmente me salvou. Valeu

  • @a7h1lla
    @a7h1lla 6 місяців тому

    Mais uma vez parabéns, fiz um projeto e usei como base o seu e ficou muito bom, minha única dificuldade agora é em renovar o token, estou pesquisando e tentando achar a melhor forma de fazer no frontend. 👋👋👋👋

  • @jwlioCesar
    @jwlioCesar 6 місяців тому

    Conteúdo precioso, Fernanda!!!! Você me inspira, quando eu tiver conhecimentos consolidados quero fazer um canal que nem o seu!

  • @GiselleBarbosaDev
    @GiselleBarbosaDev 6 місяців тому

    Fernanda, seu canal é incrivel, estou aprendendo muito com seus videos!! Muito obrigada por compartilhar seu conhecimento e ajudar tantas pessoas com sua generosidade!! ❣

    • @kipperdev
      @kipperdev  6 місяців тому +1

      Oii Gi, que bom ler a sua mensagem 💜
      Fico muito feliz mesmo que você goste do conteúdo e que ele tenha te ajudado a aprender.
      Abraços!

  • @TheDanielvanimoura
    @TheDanielvanimoura 6 місяців тому

    Toppp Fernanda!!!
    Acho massa como você nos passa um pouco de como são as coisas no “mundo real”, continue assim, parabéns!!

  • @dellmachado85
    @dellmachado85 21 день тому

    Fiz o front contigo, mas o back fiz em C#. Deu tudo certo aqui. parabéns pelo conteúdo.

    • @kipperdev
      @kipperdev  4 дні тому

      Boaaa! Parabéns! Que bom q deu certo

  • @brunofelix5434
    @brunofelix5434 6 місяців тому +1

    Adoro seu conteúdo. Você faz tudo bem feito, e mo carismática.

    • @kipperdev
      @kipperdev  6 місяців тому +1

      Muito obrigado Bruno! Fico feliz demais com esse tipo de comentário 💜💪🏼

  • @renatomuiambo1446
    @renatomuiambo1446 13 днів тому

    Perfeirto. Bom conteúdo, boa didáctica.

  • @yuri-silva2
    @yuri-silva2 6 місяців тому +2

    Seus conteúdos são ótimos. Parabéns!!!

  • @srdouglas1026
    @srdouglas1026 6 місяців тому

    Muito bom Fer, show demais obrigado por sua dedicação em passar seus conhecimentos de forma gratuita, gratidão.

  • @henriquesantiagopires8707
    @henriquesantiagopires8707 6 місяців тому +1

    Conteúdo muito bom! Recentemente comecei a fazer um projetinho pessoal de um e-commerce que vai ter esse sistema de login com JWT. No meu caso, estou utilizando React e Spring. Infelizmente, muitos vídeos que eu encontrei ensinando a fazer login dessa forma utilizam versões mais antigas do Spring ou são, na maioria, de gringos. É bom saber que tem canais brasileiros que produzem esse tipo de conteúdo com excelente qualidade.
    Enfim, já havia feito o meu sistema de login por aqui, mas pretendo reformular a implementação porque gostei da forma como foi realizado. Você pretende fazer um vídeo ensinando a fazer deploy de um projeto pessoal como esse que vc realizou? Estou fazendo um portfólio pessoal e acredito que fica mais chamativo para recrutadores e etc

  • @GustavoHenri777
    @GustavoHenri777 12 днів тому +3

    Sequencia de vídeo muito top.
    No meu a configuração de cors nao funcionou de jeito nenhum, tive que adicionar uma configuração de cors tambem na classe do SecurityConfig para dar certo

    • @luccaparanhos9923
      @luccaparanhos9923 12 днів тому +1

      Com sua configuraçãono security vc conseguiu cadastrar? manda ai pfv irmão. to quebrando a cabeça aqui D:

    • @carlinhoshk
      @carlinhoshk 10 днів тому +1

      manda ai seu github do repositorio ou o que vc mudou no seu codigo, eu não consigo de jeito nemhum fazer o front comunicar com backend é coisa de cors mesmo...

    • @GustavoHenri777
      @GustavoHenri777 9 днів тому

      Minha classe SecurityConfig ficou assim. Peguei no chat gpt.
      @Configuration
      @EnableWebSecurity
      public class SecurityConfig {
      @Autowired
      private CustomUserDetailsService userDetailsService;
      @Autowired
      SecurityFilter securityFilter;
      @Bean
      public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
      http
      .cors()
      .and()
      .csrf(csrf -> csrf.disable())
      .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
      .authorizeHttpRequests(authorize -> authorize
      .requestMatchers(HttpMethod.POST, "/auth/login").permitAll()
      .requestMatchers(HttpMethod.POST, "/auth/register").permitAll()
      .anyRequest().authenticated()
      )
      .addFilterBefore(securityFilter, UsernamePasswordAuthenticationFilter.class);
      return http.build();
      }
      @Bean
      public PasswordEncoder passwordEncoder() {
      return new BCryptPasswordEncoder();
      }
      @Bean
      public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception {
      return authenticationConfiguration.getAuthenticationManager();
      }
      @Bean
      public CorsFilter corsFilter() {
      UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
      CorsConfiguration config = new CorsConfiguration();
      config.setAllowCredentials(true);
      config.addAllowedOrigin("localhost:4200"); // Origens permitidas
      config.addAllowedHeader("*"); // Permitir todos os cabeçalhos
      config.addAllowedMethod("*"); // Permitir todos os métodos HTTP
      source.registerCorsConfiguration("/**", config);
      return new CorsFilter(source);
      }
      }

  • @lagoawb
    @lagoawb 6 місяців тому

    top demais sua aula, vc e muito fera. parabens

  • @greglixandrao
    @greglixandrao 6 місяців тому

    @kipperdev Parabéns pelo conteúdo! Tá massa demais, aprendi muito com seu jeito de explicar. Muito obrigado pela sua dedicação de ensinar, estou aprendendo muito. Voa demais!

  • @PatsFerrer
    @PatsFerrer 6 місяців тому

    Perfeitaaaa.. obrigada por compartilhar seus conhecimentos 🥰

  • @dymileo
    @dymileo 6 місяців тому

    Parabéns....vc explica muito bem....obrigado por compartilhar os seus conhecimentos

  • @juliananascimento4627
    @juliananascimento4627 5 місяців тому

    você arrasa muito, Fernanda! esse vídeo me ajudou pra caramba! obrigada por compartilhar seu conhecimento!

  • @jd-code
    @jd-code 5 місяців тому +1

    Kipper acabou sendo minha inspiração para usar Java, percebi o quanto é bom para Back-end 😅

    • @kipperdev
      @kipperdev  5 місяців тому +2

      Que bomm, JD 💜
      Te trouxe para o lado certo do backend hahahah

  • @matheusfelixribeiro
    @matheusfelixribeiro 6 місяців тому +1

    Parabéns pelos seus vídeos são diferenciados!

    • @kipperdev
      @kipperdev  6 місяців тому

      Muitooo obrigada Matheus, de verdade! 🥰💜

  • @sedentarionuncamais4659
    @sedentarionuncamais4659 5 місяців тому

    Você e D +, vou me torna membro do canal, obrigado por nós ajudar nessa caminha com Java, de maneira clara, atual e dinâmica...

    • @kipperdev
      @kipperdev  2 місяці тому

      Muitoo obrigada 💜
      Fico feliz que o video ajudou e seja bem vindo aos membros do canal 💜💜💜

  • @hugofernando3457
    @hugofernando3457 6 місяців тому

    Incrível, exatamente o que eu precisava para hoje!

  • @michelalvescaricaturista4052
    @michelalvescaricaturista4052 5 місяців тому

    Obrigado Fernanda, esse projeto ficou demais 👏🏾👏🏾👏🏾

  • @roberthovelar2472
    @roberthovelar2472 6 місяців тому +1

    Parabéns pelo conteúdo! Uma dúvida: Não seria um problema no SecurityFilter consultar o usuário no banco sempre que eu fosse validar um token (linha 31)?

  • @rodrigoa.cascao1553
    @rodrigoa.cascao1553 12 днів тому

    Ótimo vídeo. Eu uso o Angular no container e o Java na máquina física. Quando o Angular tenta acessar o java recebo erro de CORS, mesmo com as configurações que vc fez.

  • @mylenav
    @mylenav 4 місяці тому

    grande maquina de codigo! so consigo acompanhar no 0.75 e a pulso, um dia eu chego la kkkkkk mt bom fe

  • @mateusfonseca988
    @mateusfonseca988 4 місяці тому

    Preciso implementar segurança em meu projeto e to apanhando ha 3 dias e esse video me vai me salvar

  • @luisitotosu
    @luisitotosu 6 місяців тому +30

    Vc é culpada por eu começar a gostar de Java kkkkk, comecei a estudar a linguagem essa semana

    • @kipperdev
      @kipperdev  6 місяців тому +6

      Hahahaha fico feliz de ter essa culpa então! Bons estudos 💜

    • @alvesxest
      @alvesxest 14 днів тому

      Como tá hoje em dia? Sempre legal ver a evolução do pessoal em Java

  • @mylenav
    @mylenav 4 місяці тому

    não consegui utilizar a notação RequiredArgsConstructor no AuthController.... tive que fazer um contstrutor manual mesmo, tirando isso, tudo funcionando perfeitinho :)

  • @hunelytonmendeslima729
    @hunelytonmendeslima729 3 місяці тому

    Parabéns pelo conteúdo, conseguiria mostrar como faz o deploy dessa aplicação num servidor web ou até mesmo local ?

  • @annakarolinafranz5946
    @annakarolinafranz5946 6 місяців тому

    Fernanda anciosa que fica balançando as pernas quando grava kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk, eu dou risada pq eu tbm sou assim... referente ao conteudo toppppp demais...

  • @kaiopasqualinotto9765
    @kaiopasqualinotto9765 6 місяців тому +1

    Fernanda, tem diferença entre extender OncePerRequestFilter e BasicAuthenticationFilter, tenho dois cursos e cada um usa uma forma diferente...

  • @JuniorStranner
    @JuniorStranner 6 місяців тому

    Baita de um Vídeo Fernanda , muito obrigado !!

    • @kipperdev
      @kipperdev  2 місяці тому

      Muito obrigada, Junior

  • @gabrieldantaslp
    @gabrieldantaslp Місяць тому

    Fer, e o interceptor? Não é mais necessário para adicionar o token no header Authorization das requisições, nessa versão do angular?

  •  6 місяців тому

    Não sou muito de java, e seu vídeo explica tudo para que fique tão claro, que ate pensei em mudar, mas quando clonei seu repositório e tentei registrar ficando dando não autorizado :(

  • @carloseduard317
    @carloseduard317 6 місяців тому

    Grande aula Professora Fernanda.

    • @kipperdev
      @kipperdev  6 місяців тому +1

      Obrigada Carlos!! Fico feliz que gostou 💜

    • @carloseduard317
      @carloseduard317 6 місяців тому

      Nós que somos grato a você @@kipperdev

  • @DevUncleTS
    @DevUncleTS 6 місяців тому

    Excelente, vídeo! Obrigado

    • @kipperdev
      @kipperdev  6 місяців тому +1

      Fico feliz que gostou!!

  • @guilhermeadams7079
    @guilhermeadams7079 6 місяців тому

    Estava ansioso por esse vídeo!! :)

    • @kipperdev
      @kipperdev  6 місяців тому +1

      Espero que goste Gui!! 💜

  • @TIAGOLEOMILBALAN-mf5et
    @TIAGOLEOMILBALAN-mf5et 4 місяці тому

    Vídeo incrível, só faltou fazer que quando autenticar no login e clicar no botão, ir para a tela de usuário autenticado, sou iniciante no ramo, se eu conseguir fazer volto aqui

  • @michellantonionnybizerrade642
    @michellantonionnybizerrade642 Місяць тому

    Vídeo fantástico

    • @kipperdev
      @kipperdev  Місяць тому

      Que bom que gostouu, Mi

  • @matheuseduardojp
    @matheuseduardojp 2 місяці тому

    Fernanda, é correto fazer uma chamada de metodo que acessa o banco dentro do security?

  • @wagnerdba
    @wagnerdba 4 дні тому

    Fê, no spring boot 3.3.4 o CORS tá barrando o login no front... Bora atualizar? Não consegui.

  • @Alphacodebrasil
    @Alphacodebrasil 6 місяців тому

    muito bom fê, cade o video do front?

  • @smonkdivines
    @smonkdivines 2 місяці тому

    eu te amo me salvou muito no trampo

  • @edgardribeiro3436
    @edgardribeiro3436 11 днів тому

    Boa noite Fernanda Kipper, quando vou fazer o teste de gerar Token no Insomnia está dando erro 401 Unauthorized tem algo que estou fazendo errado?

  • @willfsouz
    @willfsouz 6 місяців тому

    Vai trazer algum vídeo sobre testes pra esse projeto?

  • @adsonsouzajesus
    @adsonsouzajesus 4 місяці тому

    Fernanda você pensa em lançar um curso futuramente?

  • @Gustavo.aleixo
    @Gustavo.aleixo 6 місяців тому

    Fernanda, em 56:35 voce valida se no localStorage existe um "auth-token", se sim, libera o acesso. E se o usuário colocar um token qualquer lá? ele teria acesso ao componente mesmo sem um token válido.

    • @kipperdev
      @kipperdev  6 місяців тому +3

      No frontend não temos muito como controlar muitas coisas, pois querendo ou não o usuário tem acesso a todo código do frontend, através do browser.
      Isso é só uma validação que coloquei pra evitar exibir páginas pro usuário que ele não deveria ver.
      Mas a validação de verdade fica no nosso backend!
      Exemplo, quando abrimos aquela página, de exemplo, ela faria o fetch dos dados pra exibir no backend, e então teria que enviar o token que recebemos no login, caso o usuário tivesse inserido um token inválido no session storage, a gente ia tentar enviar esse token pro backend e nosso servidor iria retornar 403, unauthorized. Dessa forma a gente pode pegar esse erro no front e aí jogar o cara de novo pro login…

    • @Gustavo.aleixo
      @Gustavo.aleixo 6 місяців тому

      Entendi, faz todo sentido. Muito obrigado, seu conteúdo sobre spring é super completo.

  • @a7h1lla
    @a7h1lla 6 місяців тому

    Parabéns... vc domina muito, como faço para pagar um almoço pra vc? hehehe

  • @aln_soares
    @aln_soares 2 місяці тому

    Top demais

  • @Just_ShanksZ
    @Just_ShanksZ 6 місяців тому

    Oi, sou iniciante e estou na dúvida se estudo o spring depois o Spring boot ou pulo o spring e vou direto para o spring boot, e os porquês! obrigado

  • @deividmartins4909
    @deividmartins4909 6 місяців тому

    Olha nao entendi metade das coisas que vc explica mas me da mais vontade de continuar estudando java

    • @kipperdev
      @kipperdev  6 місяців тому

      Boaa, é isso ai! Vai estudando até entender!

  • @JotinhaDEV
    @JotinhaDEV 6 місяців тому

    Fernandao porque voce usa @Autowired para injeção ao invez de fazer via construtor ??

  • @arozendojr
    @arozendojr 6 місяців тому

    Dúvida de no backend temos o health comum, contudo o contêiner de front também tem health, sabe como faz?

  • @thgdsa9090
    @thgdsa9090 5 місяців тому

    conteudo mto bom parabens

  • @josemorais6743
    @josemorais6743 5 місяців тому +1

    Saudações!
    Eu não consigo achar link do primeiro vídeo do front, alguém poderia paratilhar comigo por favor?🙏🏿🙏🏿🙏🏿🙏🏿

  • @neilfernandes-hh6ti
    @neilfernandes-hh6ti 6 місяців тому

    ficou apenas uma Dúvida. Qual o objectivo de CustomUserDetailsService implements UserDetailsService

  • @luccaparanhos9923
    @luccaparanhos9923 13 днів тому

    O meu ta dando o erro de "No 'Access-Control-Allow-Origin' header is present ". O que poderia ser? pq no arquivo original dela nao tem esse header, e roda normal =S

  • @paulo19593
    @paulo19593 4 місяці тому +1

    Porque o target fica em laranja? é normal ne

  • @rogerioferreira542
    @rogerioferreira542 6 місяців тому

    Muito bom

  • @leandrocruz6621
    @leandrocruz6621 Місяць тому

    O meu não estava dando certo, demorei pra descobrir oque estava dando errado, usei a comparação lado a lado do Intellij descobrir o erro em um espaço no replace do prefix kkkkkkkk

  • @wesleymrosa
    @wesleymrosa 6 місяців тому

    Tem como fazer um vídeo sobre consumo de API privada usando Token ?
    #Feign

  • @samuelassis632
    @samuelassis632 6 місяців тому

    É normal aparecer no terminal a senha tipo isso
    Using generated security password: f97e48e9-894a-45bc-ac2f-b95825ba86f8
    This generated password is for development use only. Your security configuration must be updated before running your application in production.

  • @nilsonamaral9935
    @nilsonamaral9935 6 місяців тому

    Pq não usar o VS code para fazer o Back End?

    • @kipperdev
      @kipperdev  6 місяців тому

      Mais por preferência mesmo, mas nada impede!

  • @tonyanderson6812
    @tonyanderson6812 3 місяці тому

    top!

  • @victorrocha912
    @victorrocha912 6 місяців тому

    meu validateToken o getSubject retorna o UUID e não o email, logo tive que fazer alteração. Alguem sabe me dizer o motivo?

  • @leandrocruz6621
    @leandrocruz6621 6 місяців тому

    Top

  • @nfs03
    @nfs03 6 місяців тому

    Obrigado pelo conteúdo, acho que se usasse Windows seria ainda melhor! ❤

    • @kipperdev
      @kipperdev  6 місяців тому

      hahaha eu prefiro Mac 💜

  • @FredBCavalheiro
    @FredBCavalheiro 6 місяців тому

    Tomara q um dia vc trabalhe com .NET rs

    • @kipperdev
      @kipperdev  6 місяців тому +1

      Hahahaha quem sabe

  • @Itsme-lo7ce
    @Itsme-lo7ce 5 місяців тому

    muchas gracias ajjaja you save me

  • @matheusfelixribeiro
    @matheusfelixribeiro 6 місяців тому +1

    Não encontrei o código no git

    • @kipperdev
      @kipperdev  6 місяців тому

      Aquii
      github.com/Fernanda-Kipper/login-app-backend

  • @KalfastDottor
    @KalfastDottor 5 місяців тому

    where is the token

  • @TeedGamer
    @TeedGamer 6 місяців тому

    Depois que vc tem o primeiro contato com Java, não quer saber mais de outras linguagens kkk

  • @KalfastDottor
    @KalfastDottor 5 місяців тому

    sottotitoli in italiano o inglese please

  • @Ali-uq3tc
    @Ali-uq3tc 5 місяців тому

    P R O M O S M

  • @astaron-eremita
    @astaron-eremita 6 місяців тому

    Nossa, angular é tão mais facil

  • @eliassantos7969
    @eliassantos7969 6 місяців тому

    Muito Bom

  • @tronyn
    @tronyn 3 місяці тому

    muito bom