Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Login e Senha com VUE

Olá Pessoal, sei que a nossa aplicação durante o curso não aborda este tema, mas como pretendo adotar VUE no dia-a-dia, gostaria de tirar uma dúvida:

  • Como eu crio um sistema de login de acesso para outros componentes no VUE ? Por exemplo: quero criar um login e senha para apenas depois de logado o usuário poder acessar nossa rota /home.

Atualmente eu trabalho com nodejs no back-end, tratando as rotas com express e renderizando o conteúdo com EJS. Porém, agora a ideia é separar a api do back-end e criar um dashboard com VUE. Atualmente eu faço esse controle através das sessions que eu crio quando o usuário se loga. Mas neste caso do nosso curso, basta digitar na url /home que o conteúdo é exibido.

Alguém poderia me dar um norte? Obrigado

4 respostas
solução!

Fala aí Diego, beleza? Para isso você precisará implementar e mudar o sistema de autenticação do seu back-end, o primeiro passo é criar uma API para ele se logar, onde será devolvido um token.

Esse token pode ser guardado dentro do seu Session Storage, a ideia é que para cada consumo da API você repasse ele no cabeçalho das requisições.

Para proteger as rotas no Vue você pode utilizar os guards, onde uma das lógicas pode ser verificar se o usuário atual tem token ou não.

Espero ter ajudado.

Fala Matheus, beleza? Acho que entendi o conceito. Usarei o Vue Guards como middleware para validar se o usuário está logado ou não.

Mas possuo uma outra dúvida:

Ao meu entender, o Session Storage e o Local Storage, ambos são salvos no browser de quem está acessando. Desta forma, o usuário pode facilmente trocar o seu token que veio do banco de dados e acessar como se fosse outro usuário (caso ele tenha acesso a este token). Dessa forma, minha aplicação não ficaria vulnerável ? Como eu poderia me proteger deste tipo de situação utilizando vue no front-end e nodejs no back-end ?

Obriado

Fala aí Diego, boa \o/

Excelente pergunta, vamos lá:

Para resolver esse tipo de problema, você poderia utilizar um gerenciador de estado da aplicação, para o Vue temos o Vuex, a ideia é que você tenha um "localStore" (apenas para exemplo) dentro da sua aplicação, nele sera salvo todos os dados da aplicação.

Dentro desse gerenciamento, você terá "stores", por exemplo a AuthStore, dai dentro dela você salva e mantém o token.

Espero ter ajudado.

Consegui desenvolver através de localStorage. Obrigado

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software