Node.js 从服务器发送的激活url获取令牌

Node.js 从服务器发送的激活url获取令牌,node.js,sendgrid,nodemailer,Node.js,Sendgrid,Nodemailer,我是编码登录系统的新手,现在我正在编码注册后的帐户激活逻辑 我正在向注册用户发送一封电子邮件,url如下: 127.0.0.1:3000/activate/(token here) 当用户以这种方式访问该url时,我在服务器端处理它: app.get('/activate', ( req, res) => { res.sendFile( __dirname + '/public/activation.html') }) 但当然,并不是每个唯一的令牌都有一个处理程序,所以我需要一种访

我是编码登录系统的新手,现在我正在编码注册后的帐户激活逻辑

我正在向注册用户发送一封电子邮件,url如下:

127.0.0.1:3000/activate/(token here)
当用户以这种方式访问该url时,我在服务器端处理它:

app.get('/activate', ( req, res) => {
  res.sendFile( __dirname + '/public/activation.html')
})
但当然,并不是每个唯一的令牌都有一个处理程序,所以我需要一种访问该应用程序的方法。获取/激活,但有点忽略令牌所在的第二部分,以便提供文件,但将该令牌保留在变量中,以便稍后在其内部逻辑中使用它

怎样才能做到呢?我的方法完全错了吗


提前感谢。

您可以使用动态链接

app.get(“/activation/:token)”,(请求、恢复、下一步)=>{
const token=req.params.token;
//不要在sql数据库中直接使用令牌

});这完全是个骗局,谢谢!为什么我不应该在SQL上使用该标记?我的意思是,我以前为该用户存储了它,我只需要使用该令牌进行查询来选择该用户,并将其状态更改为“已激活”,而不是“在注册时”,这可能会导致sql注入,但可以严格控制令牌格式。只要确保基本情况下不允许使用“-”。