Muito boa a aula. Só faltou explicar como passar o Authentication no header na prática, como funcionaria isso no sistema real, sem ser usando o Postman
valeu mano Posso fazer um video com a parte do front-end com alguma tecnologia e mostrando como ficaria só usando as telas sem tocar em token e ele funcionando por de baixo dos panos.
Quando voce fizer o login voce recebe seu token e utiliza ele normalmente, ai quando voce for dar um refresh é como se voce recebe outro token e sobrescrevesse o token antigo que voce estava trabalhando, pois uma hora o token antigo vai expirar mas voce precisa continuar realizando operações na API, não sei se deu pra pegar a ideia
Obrigado pela aula. Aprender com um verdadeiro profissional é muito bom! Obs: Achei pouco tempo de vídeo, se tivesse uns vídeos de Spring Boot com 50horas seria muito bom. xD
valeu mano! tem mais videos no canal, vou te mandar algumas playlists de spring boot www.youtube.com/@RodrigoFreitasAlv/playlists tem playlist ai de spring cloud, spring security, spring boot que é um projeto que eu fiz de criar um sistema ai tem 6 videos nesse. qualquer duvida manda ai
@@RodrigoFreitasAlv era pra o Authentication , não tava aparecendo auto import pra esse tipo , ae coloquei manualmente e funcionou, vlw a atenção, seu vídeo me ajudou muito
adaptando essa implementação no meu codigo tenho passando por um desafio escalando um projeto pessoal e as vezes pequenos detalhes impedem da aplicação funcionar o melhor de tudo é que essa implementação do seu tutorial Caiu como uma luva hahaha eu conclui o video e fui testar e o token dando errado, dps de alguns minutos sem nem imaginar oque era, vendo o seu repositorio percebi que o erro tava nesse metodo authorizationHeader.replace("Bearer ",""); onde eu tava passando o "bearer" com o b minúsculo ahsuahs.. ainda bem que nao fiquei tanto tempo procurando.
Muito boa suas aulas como sempre, curtas e didáticas. Fiz toda primeira parte com sucesso mas na parte 2 não consigo sair de um erro: "The token was expected to have 3 parts, but got 0." Se conseguir me ajudar agradeço.
@@RodrigoFreitasAlv Consegui sim. Obrigado! Sabe me dizer porque qualquer exception quando estou logado usando o jwtFilter, da 401? Por exemplo: mesmo ja passando da authentication mas da uma exception la no meio do meu service, o retorno na api eh 401 ao inves de 500
Meu deus do céu, vi tantos videos/blogs p tentar colocar autenticacão via JWT nas minhas rotas e não consegui, só aqui no teu video que eu literalmente consegui, deu até um alivio no estresse que eu estava tendo aqui.. Bem que você poderia criar uma comunidade no discord para o pessoal poder se comunicar, trocar conhecimentos e dúvidas, não acha uma boa ideia?
Fala Rodrigo, beleza? Obrigado por compartilhar o seu conhecimento. Uma dúvida, quando expirou o token ao invés de retornar 500 não deveria ter retornado 401 unauthorized? Se sim, a forma correta de se tratar isso seria criar uma ExceptionHandler para esse caso?
Eae Gian, blz, valeu mano. Então, poderia retornar é que nesse caso ali ele retornou porque ele joga o erro na hora de validar, mas poderia sim, como eu só queria trabalhar no token mesmo e mostrar q funcionou nem me preocupei nesse ponto, mas poderia sim
esse é o build.gradle eu to usando o gradle 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' Mas acredito que o problema deve ser na classe de configuração, se quiser colar ela aqui pra eu ver o que ta diferente
cara pode ser que seja o arquivo de config, no max o que da pra fazer é alterar a versão para a que eu to usando e tentar ver se o arquivo de config ta certo. Quer mandar ele ai pra gente ver?
Verifica se o filterChain.doFilter(request, response), esta fora do if. Tive o mesmo problema, devido colocar o filterChain.doFilter(request, response) dentro do if.
@@RodrigoFreitasAlv deu certo era o site de criptografia...usei o que você passou funcionou, só achei estranho ele retornar tdo como 403, qdo por exemplo, a entidade procurada não existe.
Meu instagram: instagram.com/rodrigofreitas.dev/
Conteúdo objetivo. Melhor explicação de Spring Security que vi até hoje
valeuzao mano
Obrigado por compartilhar conhecimento. Tenho aprendido bastante esses dias vendo seus videos!
muito obrigado, que bom que esta ajudando
Muito boa a aula. Só faltou explicar como passar o Authentication no header na prática, como funcionaria isso no sistema real, sem ser usando o Postman
valeu mano
Posso fazer um video com a parte do front-end com alguma tecnologia e mostrando como ficaria só usando as telas sem tocar em token e ele funcionando por de baixo dos panos.
Conteúdo top, irmão. Faz algo sobre refresh token em spring tbm
faço sim mano, valeu
essa pegada de videos curtos e diretos, muito boa didática!! parabens
Valeuzao
Parabéns pela excelente didática, mais um escrito.
Valeu Joel, mt obrigado
Você poderia fazer um video liberando o cors para o front End nesta implementação sua , ou nao sei se ja tem algo , pesquisei no canal e nao achei
opa, posso fazer um video mostrando sim, vou tentar trazer sobre o cors
Conteúdo didático, parabéns e obrigado por compartilhar conhecimento conosco! Sucesso irmão!
Valeu mano
Mas não há diferenciação entre o token de acess e token de refresh? Fiquei confuso.
Quando voce fizer o login voce recebe seu token e utiliza ele normalmente, ai quando voce for dar um refresh é como se voce recebe outro token e sobrescrevesse o token antigo que voce estava trabalhando, pois uma hora o token antigo vai expirar mas voce precisa continuar realizando operações na API, não sei se deu pra pegar a ideia
Obrigado pela aula. Aprender com um verdadeiro profissional é muito bom! Obs: Achei pouco tempo de vídeo, se tivesse uns vídeos de Spring Boot com 50horas seria muito bom. xD
valeu mano! tem mais videos no canal, vou te mandar algumas playlists de spring boot www.youtube.com/@RodrigoFreitasAlv/playlists
tem playlist ai de spring cloud, spring security, spring boot que é um projeto que eu fiz de criar um sistema ai tem 6 videos nesse. qualquer duvida manda ai
No java 8, qual variavel pode usar no lugar de var, alguém sabe me dizer, estou colocando como String mas algumas não aceitam
pra qual parte do codigo?
tem que usar a variavel correspondente ao retorno do metodo
@@RodrigoFreitasAlv era pra o Authentication , não tava aparecendo auto import pra esse tipo , ae coloquei manualmente e funcionou, vlw a atenção, seu vídeo me ajudou muito
valeu mano
Parabéns pelo conteúdo.
Valeu mano
Opa Rodrigo, tudo bom ?
Voce poderia falar sobre a autenticação x 509 de certificados ?
Ola, tudo bem e voce? posso sim
@@RodrigoFreitasAlv Opa muito obrigado :)
adaptando essa implementação no meu codigo tenho passando por um desafio escalando um projeto pessoal e as vezes pequenos detalhes impedem da aplicação funcionar o melhor de tudo é que essa implementação do seu tutorial Caiu como uma luva hahaha eu conclui o video e fui testar e o token dando errado, dps de alguns minutos sem nem imaginar oque era, vendo o seu repositorio percebi que o erro tava nesse metodo authorizationHeader.replace("Bearer ",""); onde eu tava passando o "bearer" com o b minúsculo ahsuahs.. ainda bem que nao fiquei tanto tempo procurando.
boa mano, que bom que ajudou, as vezes é ruim porque da esses pequenos detalhes e a gente acaba se confundindo mesmo kk
Muito boa suas aulas como sempre, curtas e didáticas. Fiz toda primeira parte com sucesso mas na parte 2 não consigo sair de um erro: "The token was expected to have 3 parts, but got 0." Se conseguir me ajudar agradeço.
Achei o erro, após o "Bearer" tem um espaço!👍
Ah boa, só vi agora a mensagem
Coloca o codigo no git, por favor. Ajudaria muito
opa mano, ja esta, github.com/Rodsafreitas/security-jwt ve se consegue pegar ai
@@RodrigoFreitasAlv Consegui sim. Obrigado! Sabe me dizer porque qualquer exception quando estou logado usando o jwtFilter, da 401? Por exemplo: mesmo ja passando da authentication mas da uma exception la no meio do meu service, o retorno na api eh 401 ao inves de 500
Meu amigo Deus te abençoe, você é nota 1000.Só falta criar um curso.😃
Valeu mano, amém. Irei fazer futuramente, estou pensando em como estruturar
Meu deus do céu, vi tantos videos/blogs p tentar colocar autenticacão via JWT nas minhas rotas e não consegui, só aqui no teu video que eu literalmente consegui, deu até um alivio no estresse que eu estava tendo aqui.. Bem que você poderia criar uma comunidade no discord para o pessoal poder se comunicar, trocar conhecimentos e dúvidas, não acha uma boa ideia?
Boa mano, então eu tinha criado um discord mas vou tentar montar um negocio para manter o pessoal aqui do canal mais conectado
Fala Rodrigo, beleza? Obrigado por compartilhar o seu conhecimento.
Uma dúvida, quando expirou o token ao invés de retornar 500 não deveria ter retornado 401 unauthorized? Se sim, a forma correta de se tratar isso seria criar uma ExceptionHandler para esse caso?
Eae Gian, blz, valeu mano.
Então, poderia retornar é que nesse caso ali ele retornou porque ele joga o erro na hora de validar, mas poderia sim, como eu só queria trabalhar no token mesmo e mostrar q funcionou nem me preocupei nesse ponto, mas poderia sim
Gente
link do projeto: github.com/Rodsafreitas/security-jwt
Opa, você inseriu o usuário e senha na mão no banco de dados ou criou uma rota "register" por exemplo?
Opa Daylton, blz? então, eu inseri na mao mesmo, mas da pra criar uma rota para fazer essa tarefa e cadastrar mais usuarios
Depois que implementei isso, todos os endpoints não respondem mais, inclusive o de geração de token.
Teria como compartilhar o seu arquivo pom.xml?
esse é o build.gradle eu to usando o gradle
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'
Mas acredito que o problema deve ser na classe de configuração, se quiser colar ela aqui pra eu ver o que ta diferente
@@RodrigoFreitasAlv estou usando o 'com.auth0:java-jwt:4.3.0' com Java 17
cara pode ser que seja o arquivo de config, no max o que da pra fazer é alterar a versão para a que eu to usando e tentar ver se o arquivo de config ta certo. Quer mandar ele ai pra gente ver?
Verifica se o filterChain.doFilter(request, response), esta fora do if. Tive o mesmo problema, devido colocar o filterChain.doFilter(request, response) dentro do if.
o meu está retornando 403..
Da uma olhada nesse repositorio e ve se tem algo diferente: github.com/Rodsafreitas/security-jwt
@@RodrigoFreitasAlv deu certo era o site de criptografia...usei o que você passou funcionou, só achei estranho ele retornar tdo como 403, qdo por exemplo, a entidade procurada não existe.