最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

JWT 使用和销毁令牌?

网站源码admin30浏览0评论

JWT 使用和销毁令牌?

JWT 使用和销毁令牌?

问题是因为令牌是无状态的,我不想将其状态存储在数据库中。 所以,上下文相当简单。我用 jsonwebtoken(JWT) 签署了一个令牌,并专门通过电子邮件将其发送给用户。问题是我在 URL 中包含了令牌并在电子邮件中提供了它,当该用户点击链接时,服务器将验证签名令牌并在验证成功时:服务器将更新数据库,但如果失败,用户将收到通知。所以,问题是我不想每次请求 url 时都执行数据库操作,为了这样做,我需要使令牌在使用一次时无效。

我可以在数据库中保存令牌状态,但不想这样做。我签署了令牌以便在短时间内过期,但这不是一个很好的解决方案。有没有其他方法可以解决这个问题?下面提供了我当前上下文的代码:

代币符号:

 exports.sing = async (email) => {
  const payload = {
    email,
  };
 const secretKey = "MY SECRET WAS HERE";
const token = jwt.sign(payload, secretKey, { expiresIn: 15 * 60 });
console.log("JWT token:", token);
return token;
 };

发送邮件

const link = "http://localhost:80/client/verify?token=" + token;

  const mailOptions = {
  from: `ToniTask <[email protected]>`,
  to: rcv_mail,
  subject: "Test Email",
  html: `<h1>This is a test email.</h1>Verify your email:<a href="${link}">${link}</a><br><em>This link will      expire in 10 Mins</em>`,
};

const info = await transporter.sendMail(mailOptions);
回答如下:

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论