最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

处理JWT验证失败

IT培训 admin 2浏览 0评论

处理JWT验证失败

我希望能够改变JWT密钥和不会引起浏览器错误登录的用户。

目前,如果用户登录和JWT密钥被改变时,他们的浏览器会引发错误。这只能由用户手动删除从他们的浏览器的cookie被固定。

server.express.use((req, res, next) => {
  const { token } = req.cookies;
  if (token) {
    const { userId } = jwt.verify(token, process.env.APP_SECRET);
    req.userId = userId;
  }
  next();
});

我能添加到上面的代码,这样如果jwt.verify失败,强制用户再次登录这将设置基础上,新的智威汤逊秘密密钥一个新的cookie?

回答如下:

而不是你的if语句,使用try-catch块和发送res.status。如果会有一个前端,对错误,再次按下登录页

try {
    const { userId } = jwt.verify(token, process.env.APP_SECRET);
    req.userId = userId;
    next()
} catch(err) {
  req.redirect("/login_page")
  res.status(400);
}

处理JWT验证失败

我希望能够改变JWT密钥和不会引起浏览器错误登录的用户。

目前,如果用户登录和JWT密钥被改变时,他们的浏览器会引发错误。这只能由用户手动删除从他们的浏览器的cookie被固定。

server.express.use((req, res, next) => {
  const { token } = req.cookies;
  if (token) {
    const { userId } = jwt.verify(token, process.env.APP_SECRET);
    req.userId = userId;
  }
  next();
});

我能添加到上面的代码,这样如果jwt.verify失败,强制用户再次登录这将设置基础上,新的智威汤逊秘密密钥一个新的cookie?

回答如下:

而不是你的if语句,使用try-catch块和发送res.status。如果会有一个前端,对错误,再次按下登录页

try {
    const { userId } = jwt.verify(token, process.env.APP_SECRET);
    req.userId = userId;
    next()
} catch(err) {
  req.redirect("/login_page")
  res.status(400);
}

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论