Skip to content

ErrorHandler: Password reset token is invalid or has been expired #19

@SaleDjerfi

Description

@SaleDjerfi

Please help!

After trying to reset the password I have this error

ErrorHandler: Password reset token is invalid or has been expired
at C:\Users\Sale\Desktop\ShopIT\backend\controllers\authController.js:115:7
at processTicksAndRejections (node:internal/process/task_queues:94:5) {
statusCode: 400
}

here is code

// Reset Password => /api/v1/password/reset/:token
exports.resetPassword = catchAsyncErrors(async (req, res, next) => {
// Hash URL token
const resetPasswordToken = crypto
.createHash('sha256')
.update(req.params.token)
.digest('hex');

const user = await User.findOne({
resetPasswordToken,
resetPasswordExpire: { $gt: Date.now() },
});

if (!user) {
return next(
new ErrorHandler(
'Password reset token is invalid or has been expired',
400
)
);
}

if (req.body.password !== req.body.confirmPassword) {
return next(new ErrorHandler('Password does not match', 400));
}

// Setup new password
user.password = req.body.password;

user.resetPasswordToken = undefined;
user.resetPasswordExpire = undefined;

await user.save();

sendToken(user, 200, res);
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions