Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

179
Visualizações
El restablecimiento de la contraseña de Bcrypt no se toma, pero el resto de la función funciona

Estoy en el paso final de mi flujo de trabajo de restablecimiento de contraseña y estoy experimentando un problema extraño en el que el código se ejecuta correctamente, imprime mi documento de artist y las palabras "Contraseña reenviada con éxito".

Luego, sin detenerse, se ejecuta por segunda vez e imprime null para el artista y muestra el error "El token de restablecimiento de contraseña no es válido o ha caducado".

Parte confusa La nueva contraseña no se acepta, pero las variables resetPasswordToken y resetPasswordExpires están configuradas en null , al igual que la parte de éxito de las solicitudes de declaración if.

Función de restablecimiento de contraseña

 const bcrypt = require('bcrypt'); module.exports.submitNewPassword = async (req, res) => { const slidedHeaderToken = req.headers.referer.slice(-40); const artist = await Artist.findOne({ resetPasswordToken: slidedHeaderToken, resetPasswordExpires: { $gt: Date.now() } }); console.log(artist); if (!artist) { req.flash('error', "Password reset token is invalid or has expired"); res.render('artists/reset') } else { const hashedPassword = bcrypt.hashSync(req.body.password, 12) artist.password = hashedPassword; artist.resetPasswordToken = null; artist.resetPasswordExpires = null; artist.save(); console.log("Successfully resubmitted password"); req.flash('success', "Successfully resubmitted password, please login with your updated credentials"); res.redirect('login'); } }

Ruta

 const passport = require('passport'); router.route('/reset/:token') .get( artists.renderPasswordReset) .post( catchAsync (artists.submitNewPassword ))

En mi aplicación, los artistas son usuarios, pero no estoy seguro si debo aclarar eso en algún lugar para el pasaporte o bcrypt.

¿Alguna idea de qué está pasando con mi código y por qué 2/3 de él funciona?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda