Vídeos

Login em Node.js com Passport

Thamyres Nunes
Escrito por Thamyres Nunes em 06/05/2021

Olá, tudo bem? No vídeo de hoje eu vou lhe ensinar como utilizar o middleware Passport para criar uma estratégia de autenticação com user e password independente do banco de dados que escolher! Se gostou do vídeo, não se esqueça de se inscrever no canal e de deixar o seu like. Um abraço e sucesso.

Prof. Luiz

Referências:

– Meus cursos: https://www.luiztools.com.br/meus-cursos?utm_source=youtube&utm_medium=link&utm_campaign=cursos&utm_content=passport

– Meus livros: https://www.luiztools.com.br/meus-livros?utm_source=youtube&utm_medium=link&utm_campaign=livros&utm_content=passport

– Senha 123: ‘$2a$06$HT.EmXYUUhNo3UQMl9APmeC0SwoGsx7FtMoAWdzGicZJ4wR1J8alW

‘ – Passo a passo e fontes (no final): https://www.luiztools.com.br/post/autenticacao-em-node-js-com-passport/

– Minhas redes sociais: https://about.me/luiztools

o Olá tudo bem Aqui é o Luiz e no vídeo
de hoje eu vou lhe mostrar como utilizar
o pés por TJS para fazer a camada de
Alto indicação em uma aplicação node.com
Express independente do seu banco de
dados eu tenho certeza que esse tutorial
de hoje vai lhe ajudar se não vai te
entender como utilizar um pé suporte
para fazer aquela clássica autenticação
com usuário e senha nas suas aplicações
Então vamos lá então vamos lá Se você
não conhece o pé pois saiba que ele é um
me doer node.js para cuidar de
estratégias de autenticação
principalmente em aplicações web onde
você também pode usar para web Pinhais é
usando estratégias adequadas
e aqui nosso exemplo vai ser uma
aplicação web mesmo utilizando Express
Vale lembrar também que o pés por ele
tem estratégias das mais variadas
possíveis mas atacou gravar esse vídeo
eles alegam ter mais de 500 estratégias
disponíveis desde login sociais né com
contas de redes sociais até a
tradicional estratégia local quer que a
gente vai utilizar aqui utilizando o
clássico par de usuário e senha Vale
salientar também que eu não vou abordar
nenhum banco de dados que foge do escopo
deste tutorial Então essa estratégia vai
ser baseada numa rede usuários e memória
né eu consegue com suas senhas e tudo
mais
é mas eu vou indicar para você em quais
pontos do código você deve adicionar
configurações do seu banco de dados
específico para que de fato
identificação aconteça a partir dos
usuários cadastrados na sua aplicação
e esse é o outro ponto bom salientar eu
não vou fazer que cadastro usuário eu
vou colocar no login dos usuários então
voltei os olhos jacaré cadastrados
beleza dito isso vamos criar nossa
aplicação como intuito aqui também não é
ensinar a construir uma aplicação web em
Express e vou utilizar o
express-generator se você não conhece
que pé direito eu vou deixar aqui nos
cards do vídeo um outro vídeo meu aqui
que eu ensino como utiliza aqui pé
direito para criar aplicações Express
então aqui eu subi aplicação padrão dos
pé direito ele falou com arroz três mil
é isso que ela tem hoje Qual o próximo
passo agora eu abrir aqui aplicação no
vs code e o primeiro passo para fazer é
criar tela de login então eu vou lá
envio crie uma nova página login. E JS
tô usando aqui o template Engine do e JS
e competitivo que nós na HTML eu vou
bater nele pronto que eu já tenho não
porque eu tenho aqui só um form que vai
fazer um post em barra login
tô passando um campo dizendo aí no campo
pessoal é que eu faço uma jogadinha de
verificar aqui eu faço uma jogadinha de
verificar se veio mensagem lá da minha
rota é para exibir na tela e depois aqui
no final eu tenho links para esqueceu
sua senha e com uma tela de cadastro
isso aqui pensando aplicação completa
ter que ter esses fluxos Netflix login e
sua senha e de cadastro esse tutorial
aqui vai focar na alta edificação se
você quer aprender como construir
aplicação completa na aplicação web
completa não apenas falta indicação Mas
você já são cadastro e listagem etc tudo
mais na descrição do vídeo eu vou deixar
os links do meu curso completo João JS e
do meu livro completo de novo até se
também aí vai do gosto de cada um né
quem prefere vídeo quem prefere texto
mas é que a ideia realmente a trabalhar
pontualmente alta indicação Beleza tem
uma viu próximo passo a rota
E tu não vai no Rio
o login. JS conste Express recebe um
Record
o L’Express const
a fruta recebe Express. Alto eu vou
fazer um holter portuguette em barra e
vai receber rec-has nexo e nós vai fazer
o quê renderizar
e a viu login com Model
o Messenger inicialmente não pode o
ponto Export bruta agora vamos lá nosso
é tipo só parece não é tipo Santa S
Vamos carregar o nosso novo novo módulo
derrota sobre o holter antes de eu disse
bar login e Vamos definir essa rota né
como novo me do Aliexpress então trocar
a ordem aqui Geralmente eu deixar mais
genérica em baixo
O que é para uma pessoa de funcionamento
também de performance e
e aqui login water
o seu iniciar a nossa aplicação agora e
acessar/login
o hotel motel próximo passo vamos
acionar mais uma dependências npm I PS
Esporte PS Esporte traço local
a Express traços Fashion e B cript JF eu
vou explicar cada uma delas na sequência
beleza tudo instalado Primeiro vamos na
raiz nosso projeto criar um novo arquivo
chamado Alf. JS
é essa aqui onde a gente vai configurar
a nossa estratégia de autenticação
o primeiro passo vamos vamos declarar
uma constante B clipt que vai receber
uma Empire do nosso módulo recebe falar
do eclipse JS ver clipe de um método de
criptografia baseado em regem e ele é
muito recomendado para armazenamento de
senhas de maneira segura quero você usa
um banco de dados quero você faça tudo
em memória como eu vou fazer aqui jamais
guarde as senhas dos seus usuários no
entanto plano sempre guarde hash da
senha os usuários só que eu tô
preparando uma rede usuários onde vai
ter somente um usuário com aí de um o
username ADM o pé Sordi como mencionei
te guardar ele o hash da senha você pode
usar aqui a função de cript com Régis em
que passando o texto que você quer
cifrar ele vai gerar para você o resto E
é isso que você vai usar na tela de
cadastro por exemplo vai pegar a senha
que a pessoa que for bom para tirar o
resto dela salvar o r’
o banco tá aqui eu vou já colocar o
resto já gerado para gente essas trinca
aqui eu vou deixar na descrição do vídeo
você pode pegar o ali e ela não mais é
do que o resto da senha 123 utilizando o
eclipse além dessas configurações eu vou
colocar aqui na configuração de e-mail
que é sempre importante a gente tem o
e-mail do nosso usuários para que a
gente possa fazer um mecanismo
recuperação de senha novamente aqui não
vou fazer o meu livro no meu curso você
encontra esse fluxo todo completo de uma
aplicação utilizando essas questões aí
todas bem importante para ficar sem
opcionais
o link na descrição agora o final do
arquivo eu vou dar um áudio conta Xbox
que nada mais a fazer do que suportar
uma função que espera um objeto pés por
e que dentro configura esse objeto teste
mas antes de conferir ao pé suporte a
gente precisa ter algumas funções com
seu utilizadas por ele para pegar os
usuários da nossa fonte de dados a
criança fonte de dados é uma rei em
Memory no seu caso Talvez seja um banco
de dados Então se funções como fazer
aqui que é a fancean faz user
a onde eu recebo um user name e a
fancean find user by side que esperam
Eyed estas duas eu vou fazer as
consultas no nosso rei na memória você
vai fazer no seu banco de dados da sua
escolha
e com a primeira é um return em users
ponto french procurando pelo e o neném
Ah tá e a segunda é um ator eo zero.
Flash procurando pelo Haiti 1
E aí
Se você crê e sou select Souza no algum
RM da sua preferência agora mais abaixo
aqui nós vamos criar a função do pés
parte. Sei Alice usa aqui calça lá e se
usa uma vez que eu me atende aqui o
pesco a gente vai salvar um cookie no
front and lá no navegador no meu usuário
e vai salvar uma cês tão no back-end que
pode ser aí no seu banco de dados ou na
memória também no servidor é que usar
memória que já tá usando o banco de
dados que vai ser a gente usa é
basicamente Quais são as réguas tenta
girar e o que que a gente vai salvar
esse Cookie e nesta sessão aqui eu passo
uma função que tem dois parâmetros um
usa e um callback a gente chama de Dan e
daí eu digo para o dano primeiro
parâmetro é o erro se houver Mas você
pode fazer uma substância nação ou tipo
de validação aqui em cima e o segundo
parâmetro é com a informação do usuário
que eu vou salvar
o seu Zé. Onde lá Neide
a p*** na casa da rede você pode usar e
isso aí é o campo que você quiser
usuário acessar identificador único dele
e somente essa informação que a minha
recomendação para uma questão de
segurança com a dia dos vários consegue
depois recuperar todos os dados dele né
E outra função de ser configurado pés
parte é a peça porte.de seria de
serialize usa que é o caminho inverso
o imagina que eu tô numa uma rota o pés
por tem que descer avisar então lê né o
cookie transformar em baixo um objeto
novamente do que veio na re question
para transformar isso na informação do
usuário de novo e juntamente eu faço uso
hora que ele vai usar para verificar se
ele é válido ou não só que pode haver
erro então eu vou usar uns Arquette se
der eu vou jogar console logue no
servidor Mas enfim didáticos Esta função
ela espera o Eyed do usuário e um
callback é aqui no meu Kate eu vou
retornar a esse callback passando o erro
como primeiro objeto e usuário comum e
dentro do Troy eu vou carregar um usa a
partir da nossa função de faringe e os
Embraed e você cortar o callback
passando no erro e passando IOS é nós um
padrão de comportamento do usuário mas
tem que o furar aqui mais uma função do
pés parte Mas antes a gente precisa
abrir mais um card aqui em cima
e vai ser uma conste local strategy
o que vai receber um repaire de peço
partir traço local quando um pacote que
a gente falou. Protegem
e o peça de trabalho com mais de 500
estratégias possíveis a local é os olhos
tem a salvo no seu banco de dados o meu
caso aqui numa rede mas poderia ser uma
estratégia de Twitter mas até já de
Google até já o Alfie E por aí vai esse
local estratégico que eu declarei aqui
eu vou usar ele nessa configuração pé
suporte foto e use
tá chamando New local street long
e o que que esse construtor de papel de
local espera um objeto e uma função este
objeto é basicamente dezeto pés parte
quais são os campos que vão vir no meu
login que ele vai usar para fazer
autenticação então é o user name Field
que eu vou dar o mesmo name tá lá
naquela Dioguinho tá aqui ó e usar name
Oi e O Peste wordfeud que a mesma coisa
vou lá no login name do campo de pé
sorte
Oi beleza
é a função que lhe espera espera espera
o José me um pé sorte e um callback e
dentro dela ou fazer Justamente a
autenticação e cê vou começar aqui com
trickett né porque você nunca sabe
quando pode dar um erro eu vou imprimir
Esse Nosso Erro
ó e vou executar o callback callback ele
espera o mesmo sem o parâmetro e um leão
no segundo dizendo-se autenticou não
pelo caso não né deu erro não se atente
para vamos o fluxo normal no trailer
primeiro passo procurar o usuário pelo
nome é Um Faz De usa passando e usar
nenhum
e se não encontrou user senão ruim né
então de retorno Dan
Ah mas não tem um objeto de erro mas
isso não param de se torna falsa a
beleza encontrou e usa próximo passo é
verificar a senha como é que ele
Verifica a senha chama o b clip.com
piercing passando a senha informada no
formulário é o campo peço onde que veio
aqui na função com a senha criptografada
do nosso banco de dados que aqui no caso
é eu usei ponto password que é objeto
que eu trouxe do meu banco fictício
é isso aqui vai me tornar um slide
control falso se ele for falso sinal
ruim dá um céu tente cor pode até ter
batido o exame aí mas não bateu o pé
sorte
o caso contrário se autenticou tem que
ter uma medicação control vento com usa
certo configuramos aqui a estratégia de
autenticação local se você for usar
banco de dados você vai ter aqui o fim
de usar e o fã disabled apontando o seu
mano beleza
e vamos agora para o app. JS nós temos
que carregar aqui em cima a mais duas
que foi isso que a gente tá longe
utilizado ainda Uma delas é o pés porte
eu dou um rico ali no PES Patch
o objeto pesca de genérico
Oi e a outra dela é um Consul Station a
gente vai dar um e Claire em Express
traços fashion
e fecha o basicamente né são os dados da
sessão do usuário que está logado que
ficam armazenados numa memória do nosso
servidor ou no banco de dados no
servidor meu caso você na memória aqui
em cima também eu vou dar um e Claire o
nosso módulo de autenticação você me
chamou de Alf certo esse módulo eles
porta uma função que espera um objeto
pés por Então vamos chamar já direto
aqui essa função e vamos passar objetos
Peço para que ele espera que ajudante
esse aqui que a gente carregou onde
configurou o pés pode colocar estratégia
de autenticação agora você configurar o
Express com a sessão e com o Pesca e
e já fazer isso aqui mais embaixo logo
acima dos nossos usi-sac das rotas
e garante que não vai passar nenhuma
rota sem bater na questão de
autenticação primeiro né tô aqui vamos
chamar um map.io separa adicionar um
milhar de sessão vai ser um Fashion é
uma função e esse Sérgio onde espera o
objeto de configuração primeiro vídeo
objeto um Secret que é a chave que ele
vai utilizar para criptografar os dados
do Cookie da sessão essa chave eu
coloquei aqui radical demais recomendo
que você coloca em uma variável de
ambiente que foge aquele escopo desse
vídeo
a próxima com filiação obrigatória rave
quero botar falso que que você quer
dizer se a cada aquisição eu tenho que
salvar ou não a sessão não você Grossa
São salva não vou ficar só com tempo
todo próximo a configuração save para
instalar eset falso que eu devo não
salvar seus sonhos anônimas eu não quero
próximo a configuração Cook
O que é um outro objeto que nos
interessa aqui uma informação chamada
Max beijo que a duração do meu corpo se
você quer uma sessão de 30 minutos o seu
cultura 30 minutos é um 30 vezes 30
minutos vezes 60 segundos vezes 1000
milissegundos beleza 70 minutos vou
colocar aqui nosso caso só dois para que
a gente consiga testar a inspiração da
sessão a sessão por padrão ela é mais
nada em memória se você quiser também
salvação no banco de dados tem ainda uma
outra configuração ser feita que é a
Store e aqui você tem que instalar uma
extensão um conector para o seu banco de
dados o corretor pés porque o seu banco
de dados e encaliçar ele aqui
e novamente isso pode aqueles corpo eu
vou deixar depois na descrição do vídeo
o link para o tutorial que a gente não
vai fazer pra mongo DB é você tem
interesse de ver isso para mais que ele
também lá no meu blog ou para outro
banco qualquer deixa aí nos comentários
que se tiver bastante gente pedindo eu
faço isso para torcer o banco beleza mas
aqui vai ser na memória mesmo que é o
padrão não passa são tá já me só no Zap
memória servidor feito isso tem mais
duas chamadas aqui embaixo web. Use uma
delas é por pé suporte.net Alice certo e
outra dela é. Use é para o pé suporte
pontos fashion show de bola para parte
aqui nós estamos quase no final no
entanto na tela de login hoje ela não
tem rota para posto de login certo se eu
for aqui na falta de ouvir que são Jet
inclusive olhei para trás Bete aqui
porque se veio um rack. Frio Ponto Frio
e eu vou receber uma mensagem de usuário
ou senha inválido certo senão aí sim eu
vou exibir a tela de login
se você não faz se você quer jogar Dinho
aquele rosto em tal né assim tantas alma
uma rota Central dentro de casa ele vai
receber essa mensagem lá naquelas Gold
acho que ele não ter essa aqui que eu
vim para cá fazer é um outro ponto post
e também em Barra tô trabalhando com
barra aqui né porque a parte login da
URL ela é comida aqui no me dor né no
app toque para cá chega só o restante
tão Barra
e no post eu não vou ter um rec-has
nessa que tradicional eu vou utilizar o
próprio pesca estão aqui em cima eu
carregar com os pés forte e CEB on fire
on
tô de pé suporte e daqui no segundo
parâmetro do post eu vou passar um pés
corte. Authenticate onde eu tenho que
passar aquele castelo que eu tô usando
uma stringhi que é local e um objeto com
as configurações de autenticação que na
hora de estão as rotas que eu te enviar
o usuário no caso sucesso e no caso de
falha que é o success é Direct ele vai
para vender e o fêmur redirect
o que ele vai ir para login certo por
Ele para login se falhar autenticação
dele
o login com Feio igual o tio que ele vai
virar mensagens Vale sem vai e agora com
isso o nosso login ele tá funcionando
vou botar para rodar aqui quando acessei
eu entrei direto na index
bom então problemas certo ainda isso
deve ser acessada pelo menos indicado
mas no entanto o nosso login ele tá
funcionando com adm123 Se eu tentar aqui
ó ADM um dois três quatro não funciona
então até os logins tá funcionando mas
ainda não está bloqueando usuários
acessarem as áreas privadas que a gente
vai fazer agora para fechar com chave de
óleo como é que a gente faz isso vamos
aqui no nosso é ponto aparece vamos lá
no topo criar uma função nova gente vai
chamar de authentication middleware
exatamente isso que ela é um líder de
autenticação que espera resinex e ela
verifica-se a requisição Isso
authenticated é só função ela
verifica-se a requisição está
autenticada o próprio peça porque vai
dizer para a gente só falta de casa ou
não tá se ela estiver a gente vai dar um
retorno next next a próxima função na
nossa pilha de medo do Express
e agora que já usa a gente vai
empilhando Nespresso né Se ela não de
volta de cada eu vou dar um resto.
Redirect e jogar essa criatura para o
login né esse medo era aqui eu não posso
colocar ele comida Global eu não posso
vir aqui e dizer é ponto ilse
authentication uma dor porque senão
todas as rotas Nossa aplicação seriam
segura seriam privada mas não pode ser
toda certo porque porque o homem tem que
ser público então a inveja é ponto e uso
e não me deu direto eu vou passar no é.
Uso do users o medo é antes da Rota do
tratamento da Rota e no endereço essa
coisa ou seja index user são rotas
seguras login amarrota aberta Então se
aqui dentro ou no ataque dentro do ar
tiver autenticada ele vai deixar mas não
next e vai Executar a próxima função
Agora se o usuário não estiver indicado
bairro direcionar ele prolongue
é por isso que o nome dessa primeira
Aqui também tá gente não ia dar uns
louco aí de de autenticação você Direct
maluco com isso aqui é
a sua Nossa aplicação de novo se eu
tentasse passar ela não é ainda que não
é que a barra
E aí já volto loguinho Tá vendo só sai
users joga pouquinho se eu me logar
errado do SS4 ele não deixa da mensagem
agora se for só um dois três ele deixa
ele jogar indux e agora eu consigo essa
também aí users
o seu inspecionar aqui
o meu console vou aqui em application eu
tenho aqui o cookies vou Carros 3 mil AC
o culto da minha aplicação
bom e quando cada espira a gente
configura aqui o cookie para ser de dois
minutos então eu tô acessando aqui a
raiz depois de dois minutos
e ele não deixa mais eu volto loguinho
preocupe ó já era show de bola né tudo
funcionando você quer baixar os Fontes
desse meu tutorial eu vou deixar na
descrição o link e você acessa e lá você
vai ter todo descritivo também mais
passo a passo Fontes etc para você poder
aí copiar baixar e reproduzir os passos
aqui com mais calma aí na sua máquina se
você gostou do vídeo que é mais vídeos
como esse aqui no canal deixa o like aí
para mim finalizar que você gostou se
inscreve no canal também para receber as
próximas missões que eu fui trazendo dá
uma olhada já tem várias coisas bacanas
aqui no canal também o reforço que a
descrição também coloquei os links do
meu livro completo de programação web
com node e do meu curso completo de
programação web com longe também
se você é realmente tá procurando
aprender com a mesa de data que você viu
aqui com a mesma dinâmica mesmo tipo de
de passo a passo pode consumir
aplicações reais eu tenho certeza que
você vai gostar esses conteúdos aí que
eu tô digitando tá bom eu vou ficando
por aqui um abraço e até a próxima valeu

Olá, tudo bem?

O que você achou deste conteúdo? Conte nos comentários.

Assista também

#5 - Bot para Binance em Node.js

Persistência Poliglota - Usando vários bancos em uma aplicação!

Gestão de Projetos com Scrum: Como Começar? (Aulão)

O que é MongoDB? E para que serve?

#4 - Bot para Binance em Node.js

O que é Node.js? E para que serve?