使用Express-jwt,如何使用路由别名?

时间:2014-10-01 12:47:31

标签: express jwt express-jwt

这是连接路由的Express方式:

// 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)

... jwt不起作用。

1 个答案:

答案 0 :(得分: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

<强>更新

顺便说一下,如果你在使用快递Jwt时遇到问题,你仍然可以直接连接它,例如:

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