Cursos / Informática para Internet / Desenvolvimento Backend / Aula
Atualmente, visitando a tabela do banco de dados dos usuários, é visível que a senha é armazenada diretamente, ou seja, o conteúdo do campo "senha" no banco é exatamente igual ao que foi digitado pelo usuário do sistema. Isso não é usual, visto que é uma informação confidencial, devendo ser de conhecimento apenas do dono da senha.
Para resolver esse problema, é importante que antes de ser armazenada no banco, a senha seja encriptada. Então, recorremos à biblioteca bcrypt.
Para instalar a biblioteca, utilize o comando:
npm install bcrypt
Agora, antes de salvar o usuário no banco, deve-se criptografar a senha digitada por ele.
Navegando até a rota post, no arquivo de 'usuario.rota.js', percebemos que as informações estão sendo armazenadas exatamente como veio na requisição. Para criptografar a senha da maneira correta, acompanhe a aula e observe como são feitas as alterações.
Ao final, sua rota deve ficar como a rota abaixo:
router.post("/", async (req, res) => {
const senha = req.body.senha;
const salt = await bcrypt.genSalt(10);
const senhaCriptografada = await bcrypt.hash(senha, salt);
const usuario = { email: req.body.email, senha: senhaCriptografada };
const usuarioObj = await Usuario.create(usuario);
res.json({ msg: "Usuário adicionado com sucesso!", userId: usuarioObj.id });
});
Versão 5.3 - Todos os Direitos reservados