O que é JWT? Aprenda tudo sobre JSON Web Token

22.44k views4067 WordsCopy TextShare
Matheus Battisti - Hora de Codar
★ Nossos Cursos: https://www.horadecodar.com.br/cursos-horadecodar/ ★ Artigo sobre JWT: https://www...
Video Transcript:
e Fala galera beleza sejam bem-vindos a mais um vídeo que durante cortar eu sou Matheus Batista e hoje ainda falar sobre jw.tv webhook tem muito utilizado nas aplicações aí que a gente geralmente está fazendo autenticação via api galera a gente vai conhecer melhor ele casos de uso onde a gente pode aplicar mas as melhores aplicações digamos assim para gente explorar esse recurso tirar o melhor proveito dele ainda falta vem do fluxo do jwt numa aplicação a gente vai ver a estrutura dele vamos ver o parte o que compõem um toque e também alguns pontos negativos
essa tecnologia que é muito utilizada hoje em dia chegou aí de paraquedas tipo vida se inscrever no canal e deixar um like nesse vídeo que me ajuda bastante aquele descrição Temos vários links importantes mas o mais importante dele é o link para nossa página de cu Eu tava olhando lá depois que vale a pena Tá então vamos lá agora a ideia desse tutorial né É algo mais teórico é porque não deixe acabou utilizando já tava glitter e não sabe o que representa o que ele significa e como ele é composto então A ideia é dar
uma estudada nesse tema de maneira teórica e futuramente criar assim um vídeo de autenticação jwt tá E mais uma coisa esse assunto é amplamente abordado também meu curso de node é que eu estou produzindo agora quem sabe até já lançou a super completa aqui na descrição o link Como já falei então vamo lá que que é jwt a gente pode também né ter essa palavra como uma crônica Pai olha que geralmente são as iniciais de alguma palavra maior a gente tem aqui para ele que é Jason webtalk ou seja ele pode tirar daqui já se
conhecer mais nada dele dormir esse homem fatura pela primeira vez a tua vida hoje e pensar que ele batizar jeito né então provavelmente ele vai ser um objeto JavaScript com chave e valor tá que vai conter Chaves e valores serve para aplicações web e também é um pouco então a gente fala de tô pedindo aqui tá falando de uma resto não é o algo criptografado uma string que tô grafado aqui vai ser enviada para algum fim que ainda poder extrair algum dado dela tô já também quis que o jwt representa a gente tem que aí
enviar ele no servidor para perigo caso vai entender quem a gente é e disponibilizar os recursos que a gente está apto a acessar tá essa maneira simplesmente explicar esse cara eu boto que utilizamos são para a comunicação dos dados do Topo Então dentro desse toquem aqui a gente vai ter aí informações como data de criação do Tolkien Wide do usuário a data de expiração dele e tudo isso vai ser utilizado e para a gente poder se comunicar com o servidor E ele nos dá autorização a alguma coisa tá ou esperava tô aqui por exemplo se
a data já chegou e também dentro dele para isso mais detalhes depois a gente tem o zíper não sei quê que é basicamente O que diferencia token do aplicação do topo de outra aplicação é o segredo que vai estar criptografando ajudando a criptografia do nosso Token para mim quebrar ele pra ninguém hackear a nossa aplicação ou algum usuário por exemplo tá eu boto aí que é um recurso de autorização e não autenticação garessi a parte mais importante policial que muita gente acaba utilizando jwt e não entendendo o que ele significa se consulte tá quê que
é autenticação é ação tente passar não usuário e-mail e uma senha tá e o servidor está uma resposta de Ok você fez o login ou não a cena está incorreta usuário Oi gata estou isso é autenticação é simplesmente aí uma requisição onde a gente forma esses valores e algum site ou aplicação pede e a gente pode ser uma resposta mais fácil positiva ou negativa a partir desse momento o nosso usuário encontrado no sistema então a gente peço autorização para acessar alguma coisa tá tem aplicações que não existem tipos de uso ar ser Tchau até de
casa aí vai ter que o ar que você está tudo tá mas imagine uma comer eu tenho usuários que podem acessar a loja fazer pedidos eu tenho usuários administrativos que vão liberar o pagamento o verificar se já foi para o pago pedido vou enviar esse pedido imprimir etiqueta do correio para poder fazer o envio então aí a gente tem níveis de acesso diferentes ou seja autorização por meio deste touca eu consigo extrair isso se o usuário está autorizado para acessar tal tela se ele montar então WT vai servir nessa parte onde a gente já fez
a medicação a gente pode dizer que é a maneira de vestir Dizer para vocês ligou que a gente está autenticada ou se gente pode continuar assistindo sistema sem ter que passar as credenciais novamente eu boto aí que após autenticação não tô que é enviado pelo sistema anti tem a as sessões por sexo né que ficam salvos aí no servidor também deve ter diferente Ele trabalha numa maneira que pouco e enviado para gente após autenticação ele tem que ficar enviando em toda a requisição para gente conseguir manter essa conexão entre aplicação e front-end né o cliente
por isso que ele é muito interessante para abrir o que a gente não mantém estado né na aplicação na play que é um dos parâmetros responde a gente vai ver se também mais para frente aí tem um artigo da hora que eu fiz aqui os links abaixo também explica muito mais detalhadamente Ela deve ter se eu faço tudo tem lá queria de uma hora esse vídeo aqui é uma ideia que esse sucinto e eu eu consegui resolver o problema de vocês deu bota também que o base um toque a gente Verifica o que o usuário
pode ou não acessar as vezes usuário nem foi aprovado pelo sistema ainda então nem pode acessar mas ele consegue fazer outro cartão porque ele se registrou ele vai dar uma resposta diferente baseada esse status digamos assim vai fazer n coisas porque o Toquinho ele contem informações e baseado nessas informações para conseguir aí tá entregando a resposta do usuário solicitou eu boto que o token é criptografado em perceber codificar na parte de quem então aí que vem a segurança né Eu tô aqui na entregue para gente como o projeto nome igual Matheus idade igual a 30
a senha igual a Mateus 23 Não ele tá criptografado um algoritmo que dia fala também futuramente E aí a gente saiu essa string e gigante que a gente tem que salvar o lugar geralmente local Store tem que poder enviar depois ir lá no servidor ele tem algum o escritor graça isso porque que Lines a bicicleta então baseado em um script na função de fotografar ele consegue extrair as informações do toque por isso que fica só lá no backend onde o cliente não tem acesso para não permitir Claro acesso de hackers por exemplo Então a gente
tem essa segurança também vamos avançar aqui galera agora já falado fluxo e jwt que é muito importante também a gente comentou ali e por que entregue depois da autenticação e tudo mais mas a gente tem que entender como a gente vai utilizar esse cara a nosso favor né então bota o primeiro passo vai ser autenticação com a gente já falou após comer ação entre e-mail nome de usuário e senha como a gente falou também é nada como é transportada como correto então usuário logou de fato ele acertou a sua seu nome de usuário EA sua
senha a gente vai ter um segundo passo então autenticação acaba aqui já ela não persiste a não conte a pesquisar a o fluxo do jwt né então a gente vai ter que ap é independente do nosso front ou seja não tem vínculo nenhum não sei eu tô aí eu tô que vai ser enviado na resposta a inscrição do login quando a gente logar vai receber mais status com sucesso e ainda no corpo dessa resposta virá ao toque que a gente vai ter aí e extrair esse Toquinho da resposta né geralmente em dias só uma comunicação
e salvar em algum lugar porque o usuário está altenticado essa vai ser a garantia dele ele vai ter que ter o topo em algum lugar para quando ele fazer uma nova requisição a gente fazer alguma verificação é o servidor quando se precisar se for uma rota protegida por exemplo Então tem que estar salvo algum lugar pra gente poder enviar esse toque e aí eu não tenho que fazer o login novamente eu já sei quem é aquele usuário e consigo dar permissão para ele ou não né dependendo de como o sistema foi programado e aí e
tal que mais Costuma se salvar Esse cara é uma local auditório é uma espécie de sessão só que no navegador do cliente né E aí a gente consegue manter dados lá até um certo tempo até a gente limpar a local Store O que é muito útil para os casos de jwt estou aqui eu moro aqui que eu tô aqui vai precisar ser enviado em todas as requisições cara como eu falei antes talvez tem a página que eu posso acessar sem estar logado então na home eu não vou ficar verificando se o usuário alongado a não
ser aqui a usuário de tal grupo ele tem que contém produtos X então sim eu vou verificar se o usuário alugado na home Mas se não tiver também não é um preditivo de necessário eu ver só vai ver o desconto Beleza então é bem tudo estratégia é claro mas na Via das dúvidas sempre vai estar vendo estou em quando ele está preenchido por que a gente quer que o usuário tenha o acesso que ele é é dado a ele né e tem que uma vez que a Pri não possui veículo confronto né então aqui não
tem essa ligação jwt vai ser responsável por isso então ele cama teus olhos dentro de casa quando o usuário aí apagar a outra história deixa ele para assim fazer e vai perder autenticação ele vai ter que fazer o login novamente a gente lição vai ser um toque novamente usuário é redirecionado da parte do login normal então ele vai ter esse redirect porque o topo e não foi enviado por mais que o usuário já tenha feito autenticação não tem como saber a pena não tem como saber isso a única forma de comunicação é o topo que
tem que ser enviado pela requisição e agora agora a gente vai no site oficial do WT destrinchar o toque para entender como ele é formado e quais as partes dele constituem todos os todas as quais as partes em comum com as partes diferentes Bora lá então agora esta a parte mais prática que a gente vai ter no nessa aula aqui tá essa sexta se tu quiser fazer junto é só acessar a página jwt a chegar quinta bug inclusive tu pode tá utilizando o teu token que para aplicação gera para entender ele melhor aqui vai ter
que ir Claro passar o senhor que tu tá utilizando E aí ele vai dar o que tem esse Tolkien é que está codificada se toca né Então olha só que acontece quando up o aplicação passa o token para o usuário ele recebe isso aqui quando tem isso aqui eu não sei que está dentro não sei que informações comprei esse toque mas eu preciso Salvar esse aqui na minha local história e aí fazer o envio olá para pei tô aqui seria o caso já no meu pé King nessa segunda parte onde ele decodifica ele dá um
de Cold no jwt e consegue dividir ele um três partes que todo tô quem tem eu primeiramente Vai ter o cabeçario que é o river ou ontem definir o tipo de algorítimo para encriptar estou aqui né a gente tem alguns aqui esse um dos 56 é o mais utilizado é o padrão tá então entra ele está sendo definido por isso o que que vai mudar isso aqui a forma né que a função vai ser realizar a sua lógica para depois ficar esse toque então é muito importante a gente passe o tipo de algoritmos correta o
que ele identifique né como tá aqui e também o tipo de tu quem está tratando aqui então já tá ok então essas são as informações no Rede e se você pegar o cartão que ele vai ter essas três partes aqui vocês vão conseguir identificar ela seu ponto é o separador em comum que dividir cada uma das partes do Token jwt ter então aqui a gente tem que esse vermelhinho have encontra sinalizada aqui E esse rosto aqui é open load que que eu tenho outro fundados basicamente que a gente transporta no jwt entre as nossas requisições
né quando ele é gerado lá no leque então isso aqui a gente vai estar inserindo por meio de programação não estou aqui em galera a gente fica com esse lindo esse eu subi essa chave The Name essa chave aqui de iate e o quê que significa isso aqui esse sabe galera ele é basicamente pode do cliente né então a gente pode botar e de um dois três vamos começar um dedo toco então não tem tempo real porque a semana passada informações então a criptografia entregam o resultado diferente o aplicação então presépios eu quero passar o
ID eu quero passar em nome de usuário que você não quer passar o nome completo Ó tô passando só o único nome aí ele muda de novo eu quero passar a rola dele o que ele pode fazer no sistema falar de mim tá mais uma string ou admin então você que isso vai tem papel um dia de mim nosso sistema Oi e aí a gente vai deixando Tô com aquela vez mais com quais são as informações quem tem nada aí aqui é o tempo quando foi criado né geralmente têm uma chamada e expe que é
quando ele Vai expirar tá então isso serve para a gente poder desbloquear o usuário para acabar o tempo que a gente definir por sessão por exemplo 24 horas então ele vai somar 24 horas esse tempo aqui e vai dar o número posterior E aí o toque essa ligação pode ser feita no deck para ser a exceção dos lá tá então essa parte bem importante porque são os dados que a gente está vivendo da aplicação para front-end onde ele vai comunicar diretamente para quem E daí que a gente vai entender as permissões do usuário Ou pelo
menos os dados que a gente precisa para poder prosseguir no sistema às vezes só é de suficiente porque porque eu vou sempre fazer uma verificação vou dar um Fire naquele usuário pelo agir entendeu que ele é eu quero não quero deixar mais fumaça juntou Kaká deixar só hoje mesmo com a proximidade que tem e por último mas tem assinatura que é onde contém algo único de aplicação aplicação ou seja os Secret que a gente pode mudar aqui ó então geralmente ser colocado uma sim bem forte com seus uma senha e aí ele nos dá uma
resposta diferente se é fraco ou não era gente pode testar aqui ver se nós estiver fraco ou não para aí a gente já Nossa aplicação e isso aqui que contém a maior parte da segurança porque as funções de decodificar elas são abertas a gente pode ter acesso a elas mas o que vai mandar é o Secret que vai ser diferente da minha aplicação por exemplo para ficar são do Pedrinho então Pedrinho vai usar o ciclo dele por isso eu não consigo hackear grandes assim w ter que é utilizado aí na aplicação dele Beleza então essas
são as partes do JW ter e assim que é constituído e vejo que a gente sempre trabalha com Jackson ou seja um objeto é uma regrinha dá mais né mas já me Chaves valores Inclusive tem tem vídeo aqui no canal pode dar moradia para perder tudo sobre gesso tá então bora voltar para o usuário tem mais algumas coisas quero falar com vocês aí tu deve tá pensando agora pô negócio chato para caramba só complica tem que verificar salvar no lado do cliente nunca vou usar acho que na minha vida para mim não faz sentido quero
algo mais simples então é que eu vou te explicar porque né e onde a gente vai precisar esse cara onde É vantajoso na onde é muito vantajoso na verdade utilizar o jwt eu boto aqui que já tá PT ele tem uma vantagem transmitir os dados do usuário por meio toco Então isso é muito interessante porque a gente aí me deixa independente-ap do cliente então um dos padrões do resto da criatura réptil terrestre na verdade que consegue deixar Nossa pay resto então é interessante por esse lado e também a gente acaba deixando ele melhor com acesso
que é o volume convencional onde ele tem aquele o cloud salva uma sessão por aqui vou no banco de dados e usuário está conectado não tem um estado entre o front e aplicação né instante acaba deixando essa abordagem né Ela acaba ficando melhor com acesso por exemplo por causa da Penha que eu acabei de falar não daquele vou utilizar ele assim aplicações que ele se encaixa perfeitamente Pois é single sign-on que que é isso empresas que tem várias aplicações porém passou interligadas também tem um login um serviço autenticação e eu consigo permanecer logado entre todas
elas porque isso que eu tô aqui é o mesmo o ciclo tinha mesma maneira de decodificar vai ser a mesma então eu posso logar aqui no serviço loja e o acesso o serviço check-out tá eu ainda tenho nesse lugar porque ele consegue depois ficar o toque acessar base de clientes e ver que o cara quer ser só olha agora pouco a causa é só chegar então É bem interessante para estas formas aqui de aplicação que usam o sai o single sign-on outra coisa que tá bem alta hoje em dia né comunicação entre microsserviços novamente eu
tenho microsserviço aí que é responsável pelos relatórios do sistema Mas eu também tenho que é responsável pelos usuários cadastrados usar administrativos então eles são diferentes porque cada ano pro serviço tem mais possibilidade única aí eu vou precisar autenticar meu usuário nos dois porque é um mesmo sistema Ele só tá com arquitetura dividida entre o serviço então acaba aqui se eu que jwt eu consigo trabalhar essas pernas se gostaram não autenticando né ou permitindo que eu uso utilize outro micro serviço com o mesmo topo então acaba sendo bem interessante essa bordar e outra situação são os
lobos balanças o cartão aplicações aí que tem aquela escalada de servidores né a cortar promoções grandes por exemplo black friday da vida elas vão ligando diversos servidores à medida que aplicação vai sendo exigida a cada vez mais pra ela não cair o problema da Sérgio entra aí galera quando eu trabalho com sechant eu vou cair no servidor que não tá nem atenção é então que acontece eu não vou estar complicado não vou sair daqui da minha compra vai dar um problemão aí já tá acaba sendo interessante porque não importa ele o que eu caí o
toque é o mesmo tá essa vontade aqui também utiliza muito redes né que é uma forma diferente de salvar sessões mas w ter também cai como uma luva isso você perceber ligada essas coisas que esses que eu citei faz tão bem altas hoje em dia bem aula então a gente pode dizer que já tá vão ter está em aplicações que estão sendo criadas agora né nosso presente barra futuro então é importante saber se a tecnologia eu boto também que essa abordagem segue padrões do resto onde não podemos manter uma ligação entre a pi e Outras
aplicações eu acabei de falar a gente não vai ter uma conexão entre o usuário e à ap então isso e contribui para deixar minha terrestre porque geralmente a gente vai tá travando no já deve ter e obrigações que são separadas do Fronte do Beck and né com o projeto riet viu o ângulo no front e só pega apê novo de novo então esse login esse autenticação entrega jwt contribui para isso porque a galera velho quer deixar as apis rest o cara tá seguindo padrões é bom os padrões Então já tá meter contribui para isso e
por último mas não menos importante minha faz pontos negativos adoro ter e não podia ser só meu maravilha né então tem algumas críticas negativas que mais pesam na minha concepção eu trouxe aqui para de comentar com você tá eu vou ter que algumas críticas idiotas da bp se deve ao ciclo de cirurgia por causa da aplicação bom então a gente não tem uma alteração de sempre né pra poder filho meu serviço lá que você ABC eu sempre ABC ela se que a gente mude amanhã né Mas seria um processo mais manual outra vez estamos tentando
atualização mas que aconteceria que eu ia desligar o usuário porque eu já tô aqui desse ele embaixo né então acaba não mudando os Secret que acontece se alguém quebrar esse que de alguma maneira mais comprometer um ou mais usuários porque entre aspas a pessoa vai conseguir hackear aplicação porque ela vai ter aí do que o que tu quer composto ela vai ter de qual aplicação é feita ela vai ter informações que ela deveria ter então é ruim por esse lado tá e eu boto cabelo tamanho do Tu parece que não faz nem cócegas né mas
a gente tem que entender que tudo que está sendo enviado na aquisição E na resposta tá gastando recurso servidor além da transmissão né ele tem que ser decodificado Então galera sem ferro aplicar essa muito pequena isso é irrelevante no mesmo não é contar mas aplicações grandes e milhares milhões aquisições vai começar a pesar no curso também quem tá transmitir mais dados né edição Então você virou tem que interpretar mais nada sua mente logo a gente está recebendo também mais dado então todas as transferências vai pesando e no final gera custo a gente tenta sempre eliminar
os cursos né Então aí tem que olhar para o seu lado também beleza mas diante de todos os benefícios que a gente viu até agora aqui assistindo né mas é bom salientar que tem que entender os prós e cons e tudo que a gente usar a gente não pode ser aí o fiel arrumada Bom dia né porque uma hora ou outra pode ser criado uma melhor talvez que não tem essa essas penalidades operacionalizadas WP e a gente tem que mudar mesmo quem tem que sempre tá utilizando o que é melhor para aplicação porque a gente
final né mas não pode ser aí é fuga da proteja tem que estar com os olhos abertos entender que também tem pontos né para ti Beleza então agora espero que tenham gostado e nesse mergulho jbp a ideia foi realmente dá um detalhe Nossa teoria Porque como falei assim não tem que ficar utilizando entra no trabalho aí para ver se tá com problema de um estagiário autenticação já tá feita só vai seguir na onda né mas não conhece ocorre conceitos Record da tecnologia não espero que eu tenha apresentado para vocês eu vou te dar um pouco
mais a tecnologia que é utilizada hoje em dia e não esquece se inscrever no canal super importante para mim deixe seu like no vídeo Ajuda também consigo compartilhar por tudo que mais pessoas e aqui na descrição tem vários nomes importantes como eu falei antes sucos tem também o boy e as redes sociais lá eu vou ficando por aqui te espero no próximo vídeo valeu
Related Videos
Autenticação com Node.js e MongoDB com JWT - Login e Registro com Node.js
1:11:38
Autenticação com Node.js e MongoDB com JWT...
Matheus Battisti - Hora de Codar
77,630 views
Aprenda JSON em 20 minutos
19:47
Aprenda JSON em 20 minutos
Matheus Battisti - Hora de Codar
140,998 views
Difference between cookies, session and tokens
11:53
Difference between cookies, session and to...
Valentin Despa
652,337 views
Authentication in React with JWTs, Access & Refresh Tokens (Complete Tutorial)
23:45
Authentication in React with JWTs, Access ...
Cosden Solutions
117,040 views
[Segurança] Para que serve o Token JWT e como funciona
17:24
[Segurança] Para que serve o Token JWT e c...
Cristiano Cunha
3,533 views
JSON Web Token Hacking
6:30
JSON Web Token Hacking
Loi Liang Yang
90,453 views
O que é uma API REST? Entenda tudo sobre API, HTTP e RESTful,
29:32
O que é uma API REST? Entenda tudo sobre A...
Matheus Battisti - Hora de Codar
57,508 views
.NET 8 Authentication with Identity in a Web API with Bearer Tokens & Cookies 🔒
20:25
.NET 8 Authentication with Identity in a W...
Patrick God
142,348 views
JWT: Tudo sobre em 17 minutos [EAD #14]
17:49
JWT: Tudo sobre em 17 minutos [EAD #14]
Ayrton Teshima - Programador a Bordo
21,803 views
What Is JWT and Why Should You Use JWT
14:53
What Is JWT and Why Should You Use JWT
Web Dev Simplified
1,230,371 views
Quickly Authenticate Users with FastAPI and Token Authentication
46:05
Quickly Authenticate Users with FastAPI an...
Akamai Developer
119,468 views
Login | Autenticação JWT com Node.js e TypeScript
1:31:03
Login | Autenticação JWT com Node.js e Typ...
Guido Cerqueira
23,992 views
React Login Authentication with JWT Access, Refresh Tokens, Cookies and Axios
41:01
React Login Authentication with JWT Access...
Dave Gray
785,579 views
Como implementar Refresh Token em uma aplicação com Node? - Code/drops #88
1:20:26
Como implementar Refresh Token em uma apli...
Rocketseat
70,301 views
Como criar sistema de login com JWT e cookies com PHP
1:05:23
Como criar sistema de login com JWT e cook...
Celke
4,619 views
REFRESH TOKEN DA FORMA CERTA
19:39
REFRESH TOKEN DA FORMA CERTA
desenvolvedor.io
24,883 views
O que você deveria saber sobre Oauth 2.0 e OpenID!
23:40
O que você deveria saber sobre Oauth 2.0 e...
Giuliana Bezerra
26,125 views
Implementando Autenticação e Autorização com Tokens JWT (Json Web Token) -  ASP.NET
58:42
Implementando Autenticação e Autorização c...
Daniel Jesus
6,945 views
O que não te contam sobre JWT e Bearer Authentication | #balta #jwt #json #web #token #bearer #api
9:38
O que não te contam sobre JWT e Bearer Aut...
balta.io
10,234 views
Autenticação JSON Web Token (JWT) em Node.js
19:27
Autenticação JSON Web Token (JWT) em Node.js
LuizTools
36,280 views
Copyright © 2024. Made with ♥ in London by YTScribe.com