Comecei a ver alguns videos seu para dar um refresh em alguns conceitos e gostei muito da forma como você explica o conteúdo. Muito didatico e claro, parabéns!
Muito bom! Só uma contribuição... na criptografia assimétrica, se utiliza chave PÚBLICA para criptografar e a privada para decriptar. No vídeo você falou ao contrário.
Valeu, mergulhador! Nós usamos a chave privada para gerar o token e a chave pública para verificar a integridade. Veja aqui como o site jwt.io apresenta os campos, quando selecionamos o algoritmo RS256: ibb.co/pPG10Yf
Excelente!!! o curso tira duvida pontual ou mesmo indica um material de apoio para qdo estiver desenvolvendo e ter esbarrado numa duvida fora do curso?
Podia falar mais sobre refresh token, galera usa com JWT, e a questão de segurança se perder refresh token, e as informações que vem com os tokens como expires qual utilidade já que no front não tem como verificar tempo expiração dele, já que tempo no cliente e server é diferente
Em grandes soluções corporativas é bem comum termos o token stateless, validarmos através de certificado e mesmo assim, em alguns cenários realizar a validação contra a entidade geradora do Token de tempos em tempos.
Pessoal, complementando: O token opaco, tem que existir uma forma de validação dele no servidor que gerou, seja em memória ou em disco(Banco de dados e afins), o ruim que cada vez que fizemos uma requisição ao serviço, ele faz a validação no servidor de autenticação para saber se ele é valido e consequentemente busca em algum lugar. Imagina 400 usuários acessando o mesmo serviço?! Bingo! Cria uma blacklist que contem o ID do token JWT e do refresh token, então será uma consulta em uma tabela que terão poucos registros, sendo assim, obtendo performance. Tem outra forma também, notificando através de eventos os micro-servicos informando que aquele token não é mais válido. Existem muitas formas de fazer isso, espero ter contribuído.
É possível alterar o tempo de expiração de um token já criado anteriormente? Se sim, quando quisesse invalidar o token, bastaria alterar o tempo de expiração para zero. Em um logout por exemplo. Mas, isso é possível?
Outra dúvida que tenho: qual a melhor maneira de persistir, controlar e saber quais tokens da minha aplicação estão em vigor, para, num caso extremo (vazamento de dados, ataque hacker, etc...), revogar todos e forçar a emissão de novos?
Vanderlei como o Thiago abordou, nao é recomendavel persistir informacoes dos tokens no servidor pq isso acaba fazendo perder o sentido de se usar JWT, que eh de nao guardar estado. A melhor forma que vejo é usando tempos curtos de validade dos tokens, e o uso de refresh tokens. Assim se o token vazar, o hacker nao terá muito tempo pra mexer na aplicação..
Parabéns - material de grande valor. No caso de acessos administrativos não se justificaria "quebrar" o padrão REsT em prol da segurança e verificar o token, até porque não teria muita carga sobre o servidor?
Valeu, mergulhador! Isso mesmo. No caso de projetos corporativos/administrativos, onde não precisará escalar tanto, eu não vejo problemas em usar token opaco.
Com a depreciação do @EnableResourceServer e do @EnableAuthorizationServer do spring-security-oauth2 como ficaria a migração para o spring security 5 desses recursos?
Fala, mergulhador! Comece pelo curso de Lógica de Programação com Java. Está gratuito lá no nosso site: www.algaworks.com/curso/logica-de-programacao-java/
Sim, a parte de modelagem REST e boas práticas é possível aproveitar, porque não é dependente de tecnologia, mas o desenvolvimento é feito com Java/Spring.
Comecei a ver alguns videos seu para dar um refresh em alguns conceitos e gostei muito da forma como você explica o conteúdo.
Muito didatico e claro, parabéns!
Conteúdo top e sem enrolação, como disse outra pessoa aqui.
Conteúdo desde os primeiros segundos, sem enrolação. Amei!
Excelente explicação sobre o assunto JWT, gostei muito, parabéns Thiago!
Achei massa esse quadro de perguntas e respostas
Boa gostei otima sua explicação
Muito bom, esclareceu umas dúvidas que eu tinha
Muito obrigado!! Sensacional esse esclarecimento. Agora, vamos a mão na massa!!
Valeeeeu, mergulhador! 😀
@@algaworks Kki
Parabéns pelo excelente conteúdo.
Gratidão!!!!
Boa tarde, você poderia trazer um video prático com códigos de como criar um Token Opaco, não achei nada na internet.
Obrigado pelo vídeo
Vlwww
Eu também tinha essa dúvida, obrigado pela aula ☺
Que massa, mergulhador! 💙
@@algaworks realmente ainda tenho muito pra aprender
To começando no Node... Vc me tirou da matrix do JWT nesse vídeo kskskks.
10:34 olha sou suspeita pra falar isso, mas concordo com você amigo
Conteúdo foda
Conteúdo top de mais
Podem adquirir msm
Ainda não cheguei na parte de segurança, mas ansioso
Parabéns \o/
Valeeeeu, mergulhador! 💙
Fala de keycloak também, abraço
Você tem algum vídeo com autenticação por certificado digital?
Muito bom! Só uma contribuição... na criptografia assimétrica, se utiliza chave PÚBLICA para criptografar e a privada para decriptar. No vídeo você falou ao contrário.
Valeu, mergulhador!
Nós usamos a chave privada para gerar o token e a chave pública para verificar a integridade.
Veja aqui como o site jwt.io apresenta os campos, quando selecionamos o algoritmo RS256: ibb.co/pPG10Yf
Excelente!!!
o curso tira duvida pontual ou mesmo indica um material de apoio para qdo estiver desenvolvendo e ter esbarrado numa duvida fora do curso?
Podia falar mais sobre refresh token, galera usa com JWT, e a questão de segurança se perder refresh token, e as informações que vem com os tokens como expires qual utilidade já que no front não tem como verificar tempo expiração dele, já que tempo no cliente e server é diferente
entao qdo falo em scoped da sessao mantendo usuario conectado algumas horas por xemplo, nao poderei dizer que minha aplicação é REST?
Em grandes soluções corporativas é bem comum termos o token stateless, validarmos através de certificado e mesmo assim, em alguns cenários realizar a validação contra a entidade geradora do Token de tempos em tempos.
Pessoal, complementando:
O token opaco, tem que existir uma forma de validação dele no servidor que gerou, seja em memória ou em disco(Banco de dados e afins), o ruim que cada vez que fizemos uma requisição ao serviço, ele faz a validação no servidor de autenticação para saber se ele é valido e consequentemente busca em algum lugar. Imagina 400 usuários acessando o mesmo serviço?! Bingo! Cria uma blacklist que contem o ID do token JWT e do refresh token, então será uma consulta em uma tabela que terão poucos registros, sendo assim, obtendo performance. Tem outra forma também, notificando através de eventos os micro-servicos informando que aquele token não é mais válido. Existem muitas formas de fazer isso, espero ter contribuído.
É possível alterar o tempo de expiração de um token já criado anteriormente? Se sim, quando quisesse invalidar o token, bastaria alterar o tempo de expiração para zero. Em um logout por exemplo. Mas, isso é possível?
Olá Marcos, não é possível alterar um token JWT.
Conteudo top! Thiago, faz algo sobre IA usando Java.
Ótima explicação, parabéns!
No curso que você comentou vocês já usam o novo Spring Authorization Server?
Outra dúvida que tenho: qual a melhor maneira de persistir, controlar e saber quais tokens da minha aplicação estão em vigor, para, num caso extremo (vazamento de dados, ataque hacker, etc...), revogar todos e forçar a emissão de novos?
Acho que nesse caso, o melhor seria trocar o secret que gera a assinatura do JWT
Vanderlei como o Thiago abordou, nao é recomendavel persistir informacoes dos tokens no servidor pq isso acaba fazendo perder o sentido de se usar JWT, que eh de nao guardar estado. A melhor forma que vejo é usando tempos curtos de validade dos tokens, e o uso de refresh tokens. Assim se o token vazar, o hacker nao terá muito tempo pra mexer na aplicação..
@@adoniasalcantara522 parece uma boa solução!
Parabéns - material de grande valor.
No caso de acessos administrativos não se justificaria "quebrar" o padrão REsT em prol da segurança e verificar o token, até porque não teria muita carga sobre o servidor?
Valeu, mergulhador!
Isso mesmo. No caso de projetos corporativos/administrativos, onde não precisará escalar tanto, eu não vejo problemas em usar token opaco.
top
Com a depreciação do @EnableResourceServer e do @EnableAuthorizationServer do spring-security-oauth2 como ficaria a migração para o spring security 5 desses recursos?
Achou algum conteúdo sobre isso?
Achou algum conteúdo sobre isso?
Oi. Eu gostaria de saber por onde começar pelos cursos da AlgaWorks para quem é iniciante, começando do zero na programação?
Fala, mergulhador!
Comece pelo curso de Lógica de Programação com Java. Está gratuito lá no nosso site:
www.algaworks.com/curso/logica-de-programacao-java/
@@algaworks Poxa, valeu mesmo! Quero muito aprender a programar!
Com esse curso, consigo aproveitar o conhecimento para outras linguagens/frameworks? Tipo Nodejs/Express Python/django-rest?
Sim, a parte de modelagem REST e boas práticas é possível aproveitar, porque não é dependente de tecnologia, mas o desenvolvimento é feito com Java/Spring.