gpt4 book ai didi

javascript - Express:如何使用 JSON Web token 保护多个路由

转载 作者:行者123 更新时间:2023-12-01 02:41:03 24 4
gpt4 key购买 nike

我真的只是在寻找一种方法来清理我的代码。我有几个这样的路由,请注意,每个路由都单独经过 JSON Web token 验证过程。

router.route('/some-route').post((req, res) => {
jwt.verify(req.body.token, secret, (err, decoded) => {
if (err) return console.log(err);
// do something
res.json({ some: 'response data' });
});
});

router.route('/some-other-route').post((req, res) => {
jwt.verify(req.body.token, secret, (err, decoded) => {
if (err) return console.log(err);
// do something else
res.json({ some: 'response data' });
});
});

还有其他办法吗?我的一些路由正在接近回调 hell 级别的嵌套,因此最好从每个路由中消除这种情况。

最佳答案

非常确定您可以告诉路由器使用该函数作为中间件。将为 router 中的每个路由调用该函数。

router.use((req, res, next) => {
if(!req.body.token)
return res.json({ message: 'Missing token.' });

jwt.verify(req.body.token, secret, (err, decoded) => {
if (err) return res.json({ message: 'Failed to authenticate token.' });
// do something else
req.decoded = decoded
next();
});
});

关于javascript - Express:如何使用 JSON Web token 保护多个路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47564541/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com