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);
2条答案
按热度按时间eaf3rand1#
我使用中间件(auth.middleware.ts)进行令牌验证,如下所示。
然后我在我的路由中这样使用中间件功能。
作为参考,我会链接你一个repo,你可以检查我如何实现这个中间件,因为看到示例代码帮助我学习新东西很多。
https://gitlab.com/fiehra/sumaho
fnx2tebb2#
使用回调函数可防止应用程序崩溃。
我想这会有用的。