Reset Password. Token Expire every time in MEAN Stack

i am new in MEAN Stack, working on forgot password and reset password. i complete forgot password front end with Angular 8 and node and express. Mail sent to user email for reset password. but whenever i click on link given in mail message show “TOken expires”

forgot password node js:-

exports.forgot_password= function(req, res){
  async.waterfall([
    function(done) {
      crypto.randomBytes(20, function(err, buf) {
        var token = buf.toString('hex');
        done(err, token);
      });
    },
    function(token, done) {
      User.findOne({ userEmail: req.body.userEmail }, function(err, user) {
        if (!user) {
          return res.json({status:false, message:'E-Mail not Found'})
        }
        console.log('step 1')
        user.reset_password_token = token;
        user.reset_password_expaire = Date.now() + 3600000; // 1 hour

        user.save(function(err) {
        done(err,token, user);
         });
      });
    },
    function(token, user, done) {
        console.log('step 2')

      var smtpTrans = nodemailer.createTransport({
         service: 'Gmail',
         auth: {
          user: 'myemail',
          pass: 'mypass'
        }
      });
      console.log('step 3')

        smtpTrans.sendMail({
          from: 'myemail',
          to:user.userEmail,
          subject:'Password Reset',
          text:'You are receiving this because you (or someone else) have requested the reset of the password for your account.nn' +
            'Please click on the following link, or paste this into your browser to complete the process:nn' +
            'http://' + req.headers.host + '/api/reset_password/' + token + 'nn' +
            'If you did not request this, please ignore this email and your password will remain unchanged.n',

        });
        console.log('Email Send');
}
  ], function(err) {
    console.log('this err' + ' ' + err)

  });
};

Reset Password

exports.reset_password= function(req, res,next) {
  console.log('Step 1');
  User.findOne({
  reset_password_token: req.body.token,
  reset_password_expires: {$gt: Date.now()}
})
.exec(function(err, user) {
  console.log ('step 2')

  if (!err && user) {
    if (req.body.userPassword === req.body.userConfPassword) {
      user.hash_password = bcrypt.hash(req.body.newPassword, 10);
      user.reset_password_token = undefined;
      user.reset_password_expires = undefined;
      user.save(function(err) {
        if (err) {
          return res.status(422).send({
            message: err
          });
        } else {
          var data = {
            to: user.userEmail,
            from: 'myemail',
            subject: 'Password Reset Confirmation',
            text: 'Hello,nn' +
            ' - This is a confirmation that the password for your account ' + user.userEmail + ' has just been changed.n',
          };

          smtpTransport.sendMail(data, function(err) {
            if (!err) {
              return res.json({ message: 'Password reset' });
            } else {
              return done(err);
            }
          });
        }
      });
    } else {
      return res.status(422).send({
        message: 'Passwords do not match'
      });
    }
  } else {
    return res.status(400).send({
      message: 'Password reset token is invalid or has expired.'
    });
  }
});
};

node Routes

router.post('/forgot_password',forgot_password_Ctrl.forgot_password)

router.get('/reset_password/:token',reset_password_ctrl.reset_password)

Angular ROute

forgotpassword(value) {
    return this.http.post(`${this.uri}/forgot_password`, value);
  }

resetpassword(token) {
    return this.http.post(`${this.uri}/reset_password/${token}`, token);
  }

Schema

const mongoose = require("mongoose");
const Schema =  mongoose.Schema;

const User = new Schema({
  userName: String,
  userEmail: String,
  userPassword: {type: String,required: true, bcrypt: true},
  userConfPassword: String,
  userPhone: Number,
  userExperience: String,
  reset_password_token: String,
  reset_password_expaire: Date,
  new_user: String
});
const user = mongoose.model("user", User); //"user" is collections
module.exports= user;

Source: New feed
Source Url Reset Password. Token Expire every time in MEAN Stack