环回changePassword方法删除所有accessToken

时间:2018-07-12 08:37:46

标签: loopback change-password

我有一个名为“ change-password”的终结点,在此我调用changePassword方法来更新用户密码。该方法可以正常工作并且密码得到更新,但是问题是所有accessToken和其他帐户的accessToken被删除。

app.post('/change-password', function(req, res, next) {
  var Account = app.models.Account;

  //verify passwords match
  if (!req.body.password || !req.body.confirmation ||
    req.body.password !== req.body.confirmation) {
    return res.sendStatus(400, new Error('Passwords do not match'));
  }

  Account.findById(req.body.accountId, function(err, account) {
    if (err) return res.sendStatus(404);        

    account.hasPassword(req.body.oldPassword, function(err, isMatch) {
      if (!isMatch) {
        return res.sendStatus(401);
      } else {
        account.changePassword(req.body.oldPassword, req.body.password, function(err, account) {
          if (err) return res.sendStatus(404);

          console.log('> password change request processed successfully');
          res.status(200).json({msg: 'password change request processed successfully'});
        });
      }
    });
  });
});

我已经读过this post,但这似乎是另一种情况,因为在我的情况下,删除了所有accessToken,而不仅仅是帐户中的那个。

0 个答案:

没有答案