diff --git a/server/models/user.js b/server/models/user.js index ab83e507a8..e7b85a8af7 100644 --- a/server/models/user.js +++ b/server/models/user.js @@ -162,7 +162,16 @@ userSchema.set('toJSON', { userSchema.methods.comparePassword = async function comparePassword( candidatePassword ) { - return bcrypt.compare(candidatePassword, this.password); + if (!this.password) { + throw new Error('No password is set for this user.'); + } + + try { + return await bcrypt.compare(candidatePassword, this.password); + } catch (error) { + console.error('Password comparison failed!', error); + return false; + } }; /**