A melhor forma de salvar o JWT no front-end (sem localstorage)
Conecte-se a 500mil devs e avance para o próximo nível com a nossa plataforma: rocketseat.com.br/
Cadastre-se na nossa plataforma: app.rocketseat.com.br/signup
Junte-se a mais de 392mil devs em nossa comunidade no Discord: / discord
Acompanhe a Rocketseat nas redes sociais:
Twitter: @rocketseat
Facebook: @rocketseat
Instagram: @rocketseat
Пікірлер: 83
Muito bom esse novo formato de vídeos rápidos, mas não tão rápidos assim! Conteúdo sensacional, valeu Rocket!
Boa tarde, uma sugestão seria algum vídeo com jwt token e refresh token, onde armazena o refresh-token, com exemplo de utilização na prática.
@edu_amr
6 ай бұрын
Acho que um video de autenticação/autorização em si, junto com axios e os interceptors... seria interessante.
@me.dwesley
6 ай бұрын
@@edu_amr Já existe. É só procurar "refresh token rocketseat daniele leao"
@leonardoreis674
6 ай бұрын
Concordo seria bem legal
@zevdvlpr
6 ай бұрын
Up
@imartytk
6 ай бұрын
Esse eh um trabalho pro devdoido 😂
Excelente explicação e bem objetivado. Parabéns pela didática e dinamica de apresentação
Interessante esse formato de video curto explicando certas coisas, curti.
Caraca, é isso q eu precisava, thank y
Obrigado por compartilhar
Muito bom.
Um vídeo aprofundado sobre autenticação/autorização envolvendo JWT/cookies seria massa
@dieegosf
6 ай бұрын
Já tem alguns guias completos aqui no KZread de autenticação com React e Node, inclusive no Next.js, basta dar uma procuradinha :)
Não sei se é a mesma live, mas o KolossoBR quer muito saber se vai ter trilha de games kkkkkk terceira vez que eu vejo um vídeo do Diego, e esse cara tá falando isso kkkkk
conteudo completo sobre autenticação e controle de acesso com nextjs seria perfeito.
@mrflacks2243
5 ай бұрын
ele pode até fazer mas vai fazer com biblioteca atrás de biblioteca, ele não sabe fazer de forma resumida e sim usando lib como bengala e no final nem ele mesmo sabe o que fazer da lib
@darlleybrito4198
4 ай бұрын
@@mrflacks2243 Que isso jovem kk tem algum artigo pra indicar aí? Sem zuera tô precisando
Boa, eu ja faço assim.
booom conteúudo ROCKET
quando vai sair esse projeto no ignite?
No mobile, teria uma estratégia semelhante, ou outra estratégia que você refomendaria?
Ainda não vi o vídeo, mas presumo "Cookies".
isso resolve a questão de fazer um Bearer {TOKEN}? Ele envia na requisição, mas de que forma é enviado?
Mas como eu consigo tratar casos onde o domínio do meu backend é diferente do meu frontend? Nesses casos, há um bloqueio do set-cookie por parte do browser
como saberei se ele tem uma sessao ativa, para o redicionar para tela de login por exemplo?
Isso não é afetado pela mudança proposta pelo Google Chrome sobre a utilização de cookies?
Você ainda consegue acessar os Cookies dentro da aplicação por meio do parsedCookies?
E quando o backend está configurado para não receber cookies?
E no caso de autenticação com firebase, onde geralmente usamos a api deles e fazemos a requisição do próprio frontend?
@iuritorres
6 ай бұрын
tbm tou precisando saber 😆
Mas esse cookie que é httpOnly fica persistido no navegador?
Nesse formato de armazenamento do token de acesso você fica vulnerável contra csrf. Você está se protegento contra esse ataque?
@PelpsRoxXx
6 ай бұрын
Ele salva o cookie pro domínio da aplicação. Não sei se é isso a que vc se refere ao citar csrf como vulnerabilidade.
@gbalestrin9
6 ай бұрын
@@PelpsRoxXx É q no caso o ataque de csrf te direciona para o dominio original da aplicação porém enviando parâmetros controlados pelo atacante
Fala galera, to com uma duvida se alguem souber ajudaria bastante. No video ele salva o jwt no frontend e entao faz as solicitações para o backend com o httponly?
Essa é uma solução bacana quando o back pertence ao mesmo domínio que o front (cookie 'same-site: strict'). No entanto, a maioria dos navegadores já bloqueiam essa prática entre servidores de origem diferente. Qual prática vc recomenda nesses casos?? Grande abs! Sou seu fã!
@GMP93
6 ай бұрын
Nesse caso você configura o CORS pra ter controle de diferentes domínios. Bem comum nas aplicações modernas que o front está num CDN e o back está em algum serviço diferente
@ezequielalves6391
6 ай бұрын
@@GMP93 Isso é possível de que maneira?
Alguém me recomenda um curso / playlist que mostre como desenvolver códigos que evitem ataques nas aplicações. Vídeos como este aqui são raríssimos, praticamente todos que eu já vi são teóricos.
Eu utilizo acess e refresh token. O access token vai no body mas não é salvo em lugar nenhum no navegador, fica só em memória e o refresh token vai num cookie http only pro front. O usuário só precisa fazer login novamente quando o refresh token expirar, mas só permitido o acesso aos endpoints protegidos usando o accesd token. O refresh token é usado apenas para pegar um novo access token.
@user-tm5bw8kz1p
6 ай бұрын
A spa precisa pegar o access token automaticamente quando o usuário voltar a acessar aplicação
@user-tm5bw8kz1p
6 ай бұрын
E o backend deve verificar se o refresh token é valido pra só assim liberar um novo access token
Qual seria o tema do github para ficar com essas cores, ou foi personalização do Arc ?
@dieegosf
6 ай бұрын
Personalizei o meu mesmo.
E como o back sabe que é o cookie nomeado como 'auth' ?
@la_treta
6 ай бұрын
0:40 tem o método signUser responsável pela lógica de login, ele define no backend, o cookie Http que será devolvido na response da requisição do frontend.
@crowrvoblackfeather4851
6 ай бұрын
da mesma forma que vc consegue pegar o Header autorization no backend, vc pode pegar valores de cookies
Desculpa irmão mas concordo um vídeo na explicativa seria ótimo, pq pelo que eu entendi vc tem o domínio da pessoa que tá acessando mas dentro do ip no caso (domínio) podem ter mais de uma pessoa na mesma rede não tem como vc diferenciar.. mas posso estar enganado, um vídeo explicando seria maravilhoso!
Como encontro esse projeto na plataforma da Rocket? Qual Ignite?
@dieegosf
6 ай бұрын
Vai entrar em breve no Ignite, entra primeiro o front-end (já essa semana) e depois o back-end.
mas da pra ver o token pelo developer tools na aba network ?
@rafael_tg
6 ай бұрын
@@Shinodinho obrigado
Cookie é bom e eu gosto.
@devcoelho
6 ай бұрын
essa é boa ksks
Boa noite. Esse projeto já está disponível no ignite?
@fadoricagames2031
6 ай бұрын
Opa. acho que é no Ignite de nodejs
@thiagosousa6596
6 ай бұрын
@@fadoricagames2031 não tem lá não, amigo
@1LY4x8s96r
6 ай бұрын
Vai ser colocado ainda lá.
Douglas, rato borrachudo, falou que os JavaScript pode acessar os Cookie, chega a fazer buff Over cookie, meio que colocar o cookie de filiado, fazendo a comissão ira para quem fez esse ataque, lógico que não sei os detalhes, parece os cookie uma boa ideia, porém tenho que testar
muito bom, mas no next 14 ta uma mrd essa feature dos cookies junto com o server components
@Valentim_Gab
5 ай бұрын
Tá bem complicado utilizar Refresh Token com SSR e Cookies
Qual projeto é esse? não encontrei no ignite
@1LY4x8s96r
6 ай бұрын
Ainda vai ser colocado
é a mesma estratégia que também utilizo. Eu gero todo o token JWT no backend e envio para o frontend com a sua respectiva data de expiração do cookie. Basicamente nao faço nada no frontend...
@eduardoribeiro9497
6 ай бұрын
Mas no frontend é preciso salvar o token não é?
@pedrobenicio4955
6 ай бұрын
@@eduardoribeiro9497eu faço isso pelo backend mesmo. O token jwt já chega no front salvo e ele é enviado automaticamente em toda requisição. Então basicamente não é feito nada no frontend. Prefiro deixar este trabalho de autenticação e verificação do token para o backend do que para o frontend. No front eu faço outras coisas na qual é responsabilidade dela fazer. Mas autenticação eu deixo toda pro Back
@eduardoribeiro9497
6 ай бұрын
@@pedrobenicio4955 Interessante, bom trabalho 💪
@karlmalone3603
6 ай бұрын
@@pedrobenicio4955 Mas como esse token é salvo no front?
@LuizNicolak
6 ай бұрын
Mas e no caso do usuário fechar a aba ou apertar um F5, como vou recuperar o token - que ainda estava válido.? Será necessário uma nova autenticação?
Funciona com aplicações mobile nativas?
@dieegosf
6 ай бұрын
Acho que no mobile não rola com cookies (eu acho), não conheço muito sobre Swift ou Kotlin (se foi o que você quis dizer com nativas).
@dev_miguel
6 ай бұрын
@@dieegosf então, embora fale sobre cookies, a única regra adicionada é informando pra usar com credenciais. Pelo menos as libs não especificam que o backend vai procurar unicamente no cookie. Depois vou dar uma estudada, possa ser que exista um campo ou propriedade que seja suportada no nativo
Esses vídeos muito curtos são decepcionantes... A Rocketseat de qualidade se foi