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

使用Express jwt时,如何使用路由别名?,express,jwt,express-jwt,Express,Jwt,Express Jwt,这是布线的快捷方式: // routes app.get('/grid', function .. .. app.use('/grid', expressJwt({secret : secret})); 但是当我使用别名连接路由时(express>=4) 。。。jwt不起作用。我自己找到了答案,想与大家分享。我们不能用ExpressJWT保护单个路由器别名,但我们可以像过去一样保护路径 var gridRouter = express.Router() , authRouter = ex

这是布线的快捷方式:

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

app.use('/grid', expressJwt({secret : secret}));
但是当我使用别名连接路由时(express>=4)


。。。jwt不起作用。

我自己找到了答案,想与大家分享。我们不能用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)
资料来源:

更新:

另外,如果您在让express Jwt工作时遇到任何问题,您仍然可以直接连接它,例如:

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

我改变了问题,让它更清楚,你现在可以重新打开问题。
app.delete('/grid/delete/:id', expressJwt({secret:secret}), myFunc);