Node express Json Web Token-如何处理无效Token


const token = req.headers[process.env.AUTH_KEY_NAME];
if (!token) return res.send("No token provided").status(401);
try {
const user = jwt.verify(token, process.env.JWT_KEY);
return res.status(200).json(user);
} catch (e) {
return res.send(e).status(401);
}
},

这是我用来处理令牌验证的代码。有3种可能性:没有令牌,错误的令牌和正确的令牌提供。一切都被称为当它应该,然而,当令牌是不正确的,我得到一个错误在控制台'JsonWebTokenError:无效令牌',这是正确的,但它也崩溃了应用程序。我如何防止应用程序崩溃?以下是我发现的其他代码,也崩溃应用程序无效令牌

const user = jwt.verify(token, process.env.JWT_KEY, (err, payload) => {
if (err) {
return res.send(err).status(401);
}
});
return res.status(200).json(user);

使用回调函数来防止应用程序崩溃

var tokenData;
jwt.verify(token, process.env.JWT_KEY, (err, data) => {
data && (tokenData = data);
});
if (!tokenData) {
throw new Error("==> Token expired");
}

我想这行得通。

最新更新