2015-05-31 9 views
7

die folgende Route Gegeben:parametrisiert Handhabung Routen in Express-jwt mit, es sei denn

router.get('/api/members/confirm/:id, function (req, res, next) 

wie gebe ich die Route ausgeschlossen werden? Ich habe versucht:

app.use('/api', expressJwt({ secret: config.secret}).unless({path: ['/api/members/confirm']})); 

und

app.use('/api', expressJwt({ secret: config.secret}).unless({path: ['/api/members/confirm/:id']})); 

aber weder Pfad in der es sei denn, Array zu funktionieren scheint?

Antwort

11

Das express-jwt Modul express-unless verwenden Sie diese unless Methode zu geben, die Argumente :param Pfadsyntax nicht ausdrücklich akzeptiert.

Aber es hat einen regulären Ausdruck annehmen, so können Sie dies tun:

app.use('/api', expressJwt({ secret: config.secret}).unless({path: [/^\/api\/members\/confirm\/.*/]})); 

Wenn Sie das nicht möchten, können Sie auch, wenn nicht eine Funktion geben:

var myFilter = function(req) {return true;} 
app.use('/api', expressJwt({ secret: config.secret}).unless(myFilter)); 
Verwandte Themen