2014-10-01 56 views
0

这是布线路由的高速公路:使用Express-jwt,如何使用路由别名?

// routes 
app.get('/grid', function .. 
.. 

app.use('/grid', expressJwt({secret : secret})); 

但是,当我使用别名来连线路由(表达> = 4)..

var gridRouter = express.Router() 
, authRouter = express.Router(); 

// routes 
grid.get('/', function .. 

app.use('/grid', gridRouter) 
app.use('/auth', authRouter) 

...智威汤逊不起作用。

+0

我改变了质疑,使其更清晰,你现在可以重新打开这个问题。 – nottinhill 2014-10-30 08:56:39

回答

0

我自己找到了答案,并希望分享它。我们无法使用ExpressJWT保护各个路由器别名,但我们可以像我们习惯的那样保护路径。

var gridRouter = express.Router() 
, authRouter = express.Router(); 

app.use('/grid/nestedGridPath', expressJwt({secret: secret})) 
app.use('/auth/nestedAuthPath', expressJwt({secret: secret})) 

app.use('/grid', gridRouter) 
app.use('/auth', authRouter) 

来源:https://www.npmjs.org/package/express-jwt

更新:

顺便说一句,如果你有在得到明确,智威汤逊的问题在所有的工作,你还可以直接连线它,例如:

app.delete('/grid/delete/:id', expressJwt({secret:secret}), myFunc);