0

这是布线路由的快捷方式:

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

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

但是当我使用别名来连接路由时 (express >= 4) ..

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

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

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

... jwt 不起作用。

4

1 回答 1

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

更新:

顺便说一句,如果您在让 express-Jwt 工作时遇到问题,您仍然可以直接连接它,例如:

app.delete('/grid/delete/:id', expressJwt({secret:secret}), myFunc);
于 2014-10-01T14:11:26.677 回答