Ir ao conteúdo
  • Cadastre-se

Javascript Como fazer um sistema que verifica se o usuário esta cadastrado com React e Node


Posts recomendados

Boa tarde! Estou fazendo uma aplicação e queria que ele avisasse quando o usuário não esta cadastrado e emitir um erro.

Por exemplo, o usuário vai para a parte do chat e para fazer alguma postagem o código verificasse se ele está logado, se não estiver ele emitirá um erro e pede para ele cadastrar.

 

No Facebook, por exemplo, quando você quica para fazer uma postagem, o algoritmo vê se você esta logado, se nao estiver ele te manda para a tela de login. como faço isso?

 

tecnologias utilizadas: Nodejs, Json-web-token, React, axios, Mysql, typeORM.

 

Código aqui( https://github.com/Weslley-Borges/Labmistry );

Link para o comentário
Compartilhar em outros sites

Você está usando JWT, certo?

Você pode fazer um middleware nas rotas para checar o Token... O próprio ExpressJS tem nas documentações como fazer isso e no código que você mandou em routers.js na linha 7 tem um exemplo do uso desse middeware, ele faz a autenticação do token e retorna erro caso tenha algum problema(Usuário não logado, token inválido ou afins...). 

Em auth.js na linha 5 ele obtém o Token do usuário, e na linha 7 ele checa se o token existe, e se não existir ele retorna o erro 401 com a mensagem "Token is required", o erro 401 é para acesso não autorizado, pelo front-end em react dentro do .then() do axios você consegue obter esse erro e redirecionar ele para página de login ou exibir alguma modal.

Na linha 11 do auth.js ele checa se o token
é válido e se for válido ele chama o next() e realiza o comentário(no caso ele mostra a página home), mas isso só acontece se o usuário estiver logado(possuir um Token válido).
Agora na linha 14 é o que ele vai retornar caso o token seja invalido, no caso você pode extrair o error do catch é ver exatamente o error que está acontecendo:

//...Resto do código
} catch (error) {
    return response.status(401).json({message: "Token invalid", error})
}
//...Fim do código

Você também pode tratar o error dentro do catch e mandar uma mensagem já feita de error para o back-end, nesse caso você vai precisar ler nas documentações todos os erros e tratar eles, segue: https://www.npmjs.com/package/jsonwebtoken#errors--codes

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!