Ao criar aplicativos da web, é importante gerenciar a autenticação do usuário com segurança. Duas bibliotecas essenciais para isso são:
bcryptjs – usado para fazer hash e comparar senhas com segurança.
Token web JSON – usado para assinar e verificar tokens JWT para autenticação do usuário.
Abordaremos como implementar essas duas bibliotecas em seu aplicativo Node.js para gerenciamento seguro de senhas e autenticação baseada em token.
Como usar bcryptjs e jsonwebtoken em Node.js
Ao criar aplicações web, é importante gerenciar a autenticação do usuário com segurança. Duas bibliotecas essenciais para isso são:
Instalar pacote
npm instalar bcryptjs
Agora deixe-me mostrar como fazer a mágica.
O mesmo de sempre, crie um novo arquivo js e lembre-se sempre de exigir o pacote.
const { hashSync, compareSync } = require("bcryptjs"); module.exports = { hashPassword: (password) => hashSync(password), comparePassword: (password, hashed) => compareSync(password, hashed };
Como funciona:
hashSync(senha): Faz o hash da senha do usuário.
compareSync(password, hashedPassword): Compara a senha em texto simples com a versão com hash para validar o login do usuário.
Instale o pacote:
npm instalar jsonwebtoken
jsonwebtoken nos permite criar um token seguro (JWT) para cada usuário autenticado. Este token é enviado ao cliente e pode ser usado para autenticar o usuário em solicitações subsequentes.
const { sign, verify } = require('jsonwebtoken'); const secretkey = "yoursecretkey"; // Secret key to sign the token module.exports = { logToken: (payload) => log(payload, secretkey), // Create JWT token verifyToken: (token) => verify(token, secretkey) // Verify JWT token };
Como funciona:
signToken(payload): Cria um JWT assinado com a carga útil fornecida (por exemplo, dados do usuário) usando uma chave secreta.
verifyToken(token): verifica a autenticidade do token JWT usando a mesma chave secreta.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3