Parabéns pelo vídeo, passei um tempão com problemas em criar essa autenticação vendo alguns tutoriais pelo medium. O seu vídeo e o repositório são uma maravilha para quem precisa implementar esse tipo de autenticação. direto, simples e bem explicado!
Muito obrigado, cara! Teu vídeo foi o único que achei explicando sobre o erro de dependência circular, minha api ficava dando stackoverflow direto, fiquei horas tentando resolver isso sem achar em lugar nenhum, muito obrigado mesmo!
Muito bom! Eu que agradeço. Ajudar um desenvolvedor é sempre bom. Inclusive, levei esse problema das dependências circulares para uma aula de um curso. Até professores experientes no mercado gastaram energia para ajudar na solução. Caso tenha alguma recomendação de vídeo ou tema, seria gratificante de fazer! Abraços.
Acredito que é que nem você falou, não precisa decorar tudo, mas é bom saber o que está acontecendo por traz e os conceitos ... Enfim boa aula , tava com dúvida a respeito dessa config e esses filtros , mas clareou aqui. DICA : Se vc não entedeu um ponto específico , jogue no Chat gpt e peça explicação ou leia a doc da própria biblioteca
Eu me guiei pelo seu vídeo, e está executando, mas quando vou fazer a requisição, está retornando OK, porém não gera nenhum token, e não há nenhum comportamento semelhante a sua execução.
Cara, eu tenho um problema que quando eu estou logado com o usuário A e atualizo o username dele, ele invalida esse token que estava sendo usado. Sabe o que pode ser?
Não é recomendado, já que se a API for consultada com um numero aleatório como 6 no id, esse ID vai exisitir e ser de alguém, o ideal é ser UUID para ser mais específico, recomedo usar numeros comuns somente se estiver precisando de muito performance e olhe lá!
Fale amigo, muito obrigado pelo conteudo está muito bom, mas no meu projeto ele está dando um erro no server : "message": "There is no PasswordEncoder mapped for the id \"null\"", tentei mapear o bcript mas acho que estou fazendo algo de errado, tem como dar uma luz do que pode ser ?
Boa noite mano, tudo bem, estou querendo implementar Login e autenticação no meu projeto Spring Boot, A maneira mais viável que tem é com o spring Security? estou tentando com ele a um tempo e sem sucesso ainda olhando seu video parece mais facil Vou tentar tbm, Porém teria alguma forma de eu tirar umas duvidas com vc?
@@GustavoRuiz0 opa mano, Estou sim eu estava estudando melhor a linguagem java, e agora estou novamente Querendo implementar autenticação Sera que poderia me ajudar?
O primeiro usuario de todos deve ser criado diretamente no banco, ou desativar as permissões, já que só usuários permissionados podem criar outros. caso ainda tenha dúvida me chama no Linkedin, lá você me passa seu discord e mostro.
Tem varias formas, você pode começar um projeto usando esse como ponto de partida ou pode utilizar os trechos e estruturas já prontas no pegando no git do projeto, de quiser ajuda hoje de noite só me passar seu discord.
Muito bacana o vídeo, parabéns! Me ocorreram algumas dúvidas: É uma boa prática passar as permissões no JWT? Para incluir mais de um método de autenticação (ex: Google, Github) usando oauth2. Pode ser feito adicionando mais um filtro? Para trabalhar com perfis e permissões, a fim de dar uma autonomia maior ao sistema, permitindo ajuste fino. As authorities que tragegariam seriam as permissões e não os perfis, certo? Ou então posso mandar perfis e permissões. 🫣
@ Quanto ao passar permissões no token , sim é uma boa prática, quase ideal, mas sempre depende da abordagem e criticidade do seu software, sobre mais filtros, pode sim, no vídeo eu filtro a criação de itens específicos com um método, mas pode usar com vários, por lógica não precisa salvar a role de um usuário diretamente nele, deve ser uma relação de tabelas, mas no vídeo o foco é mostrar como é feito o uso.
Sempre vejo o pessoal recomendar essa forma de autenticação jwt, mas tem uma pequena questão que não consegui entender porque acontece: Se o usuário tiver autenticado e consumir uma rota, nessa rota retornar algum erro http como erro 500 de internal server error, ele sempre vai mostrar 403 pra quem ta consumindo a rota. Não mostra erro real que foi emitido. 🫠
Seu repositório me ajudou muito, muito obrigado mesmo.
Parabéns pelo vídeo, passei um tempão com problemas em criar essa autenticação vendo alguns tutoriais pelo medium. O seu vídeo e o repositório são uma maravilha para quem precisa implementar esse tipo de autenticação. direto, simples e bem explicado!
Muito obrigado, cara! Teu vídeo foi o único que achei explicando sobre o erro de dependência circular, minha api ficava dando stackoverflow direto, fiquei horas tentando resolver isso sem achar em lugar nenhum, muito obrigado mesmo!
Muito bom! Eu que agradeço. Ajudar um desenvolvedor é sempre bom. Inclusive, levei esse problema das dependências circulares para uma aula de um curso. Até professores experientes no mercado gastaram energia para ajudar na solução. Caso tenha alguma recomendação de vídeo ou tema, seria gratificante de fazer! Abraços.
Muito obrigado amigo, esse vídeo me esclareceu muito como funciona, estava ficando maluco pra entender. Valeu 👏
Parabéns pelo vídeo! Direto ao ponto, obrigada por compartilhar conhecimento!
Conteúdo fenomenal, mais um inscrito
Amigo, deus te abençoe e lhe-dê uma ótima esposa!
Acredito que é que nem você falou, não precisa decorar tudo, mas é bom saber o que está acontecendo por traz e os conceitos ... Enfim boa aula , tava com dúvida a respeito dessa config e esses filtros , mas clareou aqui. DICA : Se vc não entedeu um ponto específico , jogue no Chat gpt e peça explicação ou leia a doc da própria biblioteca
Repositório: github.com/GustavoRuiz0/spring-boot-3-spring-security6-jwt-token
meu pom.xml:
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.1.2
cyber.login.jwt.system
loginsystemjwt
0.0.1-SNAPSHOT
loginsystemjwt
Demo project for Spring Boot
17
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-security
org.springframework.boot
spring-boot-starter-validation
org.springframework.boot
spring-boot-starter-web
org.postgresql
postgresql
runtime
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
org.springframework.security
spring-security-test
test
com.auth0
java-jwt
4.4.0
org.springframework.boot
spring-boot-maven-plugin
org.projectlombok
lombok
O que me confunde no spring security é a quantidade de classes pra cada coisa
mesma coisa comigo
Esse video me ajudou muito, cara. Obrigado por disponibiliza-lo.
O que tu indica aprender mais nessa parte de segurança com JWT ?
Tenta ler a documentação do Spring security e saber como funciona as configurações de refresh do token
Estou fazendo isso agora mesmo, chefe. Valeuu@@GustavoRuiz0
Você sabe o que causa o erro de dependência circular nesse caso? Não deveria acontecer apenas se vc injetasse o authorizationService no manager?
Eu me guiei pelo seu vídeo, e está executando, mas quando vou fazer a requisição, está retornando OK, porém não gera nenhum token, e não há nenhum comportamento semelhante a sua execução.
Cara, eu tenho um problema que quando eu estou logado com o usuário A e atualizo o username dele, ele invalida esse token que estava sendo usado. Sabe o que pode ser?
Oauth2 login register?
Tem algum problema passar o ID como tipo Long? Faz alguma diferença na aplicação? Um exemplo no Repository do usuário.
Não é recomendado, já que se a API for consultada com um numero aleatório como 6 no id, esse ID vai exisitir e ser de alguém, o ideal é ser UUID para ser mais específico, recomedo usar numeros comuns somente se estiver precisando de muito performance e olhe lá!
Fale amigo, muito obrigado pelo conteudo está muito bom, mas no meu projeto ele está dando um erro no server : "message": "There is no PasswordEncoder mapped for the id \"null\"", tentei mapear o bcript mas acho que estou fazendo algo de errado, tem como dar uma luz do que pode ser ?
Claro, posso sim, quer me chamar no linkedin ? lá te passo meu discord certinho.
Boa noite mano, tudo bem, estou querendo implementar Login e autenticação no meu projeto Spring Boot, A maneira mais viável que tem é com o spring Security? estou tentando com ele a um tempo e sem sucesso ainda olhando seu video parece mais facil Vou tentar tbm, Porém teria alguma forma de eu tirar umas duvidas com vc?
ainda tá precisando mano?
@@GustavoRuiz0 opa mano, Estou sim eu estava estudando melhor a linguagem java, e agora estou novamente Querendo implementar autenticação Sera que poderia me ajudar?
@@alissont3rhuant330 claro posso sim, tem discord?
Quando eu tento criar o primeiro Usuario dar erro que nao foi autenticado como posso resolver?
O primeiro usuario de todos deve ser criado diretamente no banco, ou desativar as permissões, já que só usuários permissionados podem criar outros. caso ainda tenha dúvida me chama no Linkedin, lá você me passa seu discord e mostro.
@@GustavoRuiz0 uma pergunta eu estou querendo incopar o Swagger porém fica dando conflito sabe me dizer , mestre?
como fazer acoplamento ? (to aprendendo)
Tem varias formas, você pode começar um projeto usando esse como ponto de partida ou pode utilizar os trechos e estruturas já prontas no pegando no git do projeto, de quiser ajuda hoje de noite só me passar seu discord.
@@GustavoRuiz0 por favor, edux#1329
Muito bacana o vídeo, parabéns!
Me ocorreram algumas dúvidas:
É uma boa prática passar as permissões no JWT?
Para incluir mais de um método de autenticação (ex: Google, Github) usando oauth2. Pode ser feito adicionando mais um filtro?
Para trabalhar com perfis e permissões, a fim de dar uma autonomia maior ao sistema, permitindo ajuste fino. As authorities que tragegariam seriam as permissões e não os perfis, certo? Ou então posso mandar perfis e permissões. 🫣
@ Quanto ao passar permissões no token , sim é uma boa prática, quase ideal, mas sempre depende da abordagem e criticidade do seu software, sobre mais filtros, pode sim, no vídeo eu filtro a criação de itens específicos com um método, mas pode usar com vários, por lógica não precisa salvar a role de um usuário diretamente nele, deve ser uma relação de tabelas, mas no vídeo o foco é mostrar como é feito o uso.
Pô, tem que escrever o código em tempo real
Sempre vejo o pessoal recomendar essa forma de autenticação jwt, mas tem uma pequena questão que não consegui entender porque acontece:
Se o usuário tiver autenticado e consumir uma rota, nessa rota retornar algum erro http como erro 500 de internal server error, ele sempre vai mostrar 403 pra quem ta consumindo a rota. Não mostra erro real que foi emitido. 🫠