【发布时间】:2019-07-18 20:34:54
【问题描述】:
我想将“访问令牌”到期日期时间更新到“用户”表中,以检查访问令牌是否有效以重置密码。 所以我正在使用时刻传递一个日期时间字符串值。
但它无法更新日期时间,没有错误消息。
“forgotPassword”功能无需更新“resetPasswordExpires”即可找到。
我尝试将“resetPasswordExpires”列类型设置为时间戳。它没有用。
[ Front-End ]
const inOneHour = moment()
.add(1, 'hours')
.format('MMMM Do YYYY, HH:mm:ss');
[ users table / Database ]
table.datetime('resetPasswordExpires', { useTz: false });
exports.forgotPassword = (req, res) => {
const { username, email, inOneHour } = req.body;
return knex('users')
.where({ username, email })
.first()
.then(async user => {
if (user) {
const token = await util.getRandomToken(user);
const mailOptions = {
...
};
return knex('users')
.where({ username })
.first()
.update({
resetPasswordToken: token,
resetPasswordExpires: inOneHour,
})
.then(() => {
sendEmail(mailOptions)
.then(() => {
...
})
.catch(err => {
...
});
});
}
...
});
};
谢谢!!
【问题讨论】:
标签: postgresql knex.js