Ich bin wirklich nur auf der Suche nach einer Möglichkeit, meinen Code hier aufzuräumen. Ich habe mehrere Routen wie diese. Beachten Sie, dass jede Route einzeln den JSON-Web-Token-Verifizierungsprozess durchläuft.Express: So schützen Sie mehrere Routen mit 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' });
});
});
Gibt es einen anderen Weg? Einige meiner Routen nähern sich Callback-Höllen-Ebenen der Verschachtelung, also wäre es schön, dies von jeder Route zu eliminieren.
Ist es noch möglich, meinen "decodierten" Param in die Route zu übergeben? – Alan
Ah ja, du kannst 'req.decoded = decoded' vor' next() 'machen. Ich habe es meiner Antwort hinzugefügt. –
Killer! Das funktioniert perfekt, danke! – Alan