我正在尝试在我的网站上创建一个使用React前端和Express + Nodejs后端的重置密码功能。为此,我正在发送包含JWT令牌的电子邮件,其中包含用户ID。当用户单击链接时,我正在用快递这样阅读它:
app.get('/reset/:id/:token', async (req, res) => {
try {
const { user } = jwt.verify(req.params.token, SECRET);
} catch (e) {
console.log(e);
}
return res.redirect('http://localhost:3000/reset');
});
:token
与我通过电子邮件发送并读入的JWT令牌相关。我现在遇到的问题是,我不确定是否可以安全地向前端用户ID提供一种方式来理解他们要重置的密码。通过重定向,似乎没有传递参数的方法。
采取这种中间件步骤并让客户端查询服务器端验证JWT令牌是一个好主意吗?验证后,我会发回用户ID吗?