Ir ao conteúdo

Posts recomendados

Postado

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 );

Postado

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

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!