Olá, John!
Analisando o trecho de código que você compartilhou, parece que você está tentando comparar a senha fornecida no login (senhaDoLogin
) com a senha armazenada associada à empresa (empres.senha
). No entanto, há um pequeno erro na linha onde você faz a comparação:
const clienteAutenticado = await bcrypt.compare(empres.senha, senhaDoLogin);
A função compare
do bcrypt recebe primeiro o valor da senha não criptografada (a senha que o usuário está tentando usar para logar) e em segundo lugar o hash da senha que está armazenado no banco de dados. Portanto, a ordem dos argumentos está invertida.
A linha correta deveria ser:
const clienteAutenticado = await bcrypt.compare(senhaDoLogin, empres.senha);
Isso deve resolver o problema da comparação sempre retornar false
. Além disso, certifique-se de que a senha que está sendo passada para a função compare
não está sendo modificada de alguma forma antes da comparação e que o hash armazenado no banco de dados foi gerado corretamente com o bcrypt.
Espero que essa correção resolva o problema que você está enfrentando. Lembre-se de testar novamente após fazer a alteração para verificar se o comportamento está correto agora. Espero ter ajudado e bons estudos!