考虑以下路线:
router.get('/api/members/confirm/:id, function (req, res, next)
如何指定要排除的路线?我试过了:
app.use('/api', expressJwt({ secret: config.secret}).unless({path: ['/api/members/confirm']}));
和
app.use('/api', expressJwt({ secret: config.secret}).unless({path: ['/api/members/confirm/:id']}));
但是除非数组中的路径似乎都没有用?
答案 0 :(得分:14)
.row {
display: flex;
display: -webkit-flex;
-webkit-align-items: center;
align-items: center;
padding : 10px;
border-top-color: #eeeeee;
border-top-width: 1px;
border-top-style: solid;
}
.text {
flex: 0 0 150px;
display: inline-block;
}
模块正在使用express-unless为您提供此express-jwt
方法,该方法不接受明确的'unless
路径参数语法。
但它确实接受正则表达式,所以你可以这样做:
:param
如果您不喜欢,除非有函数,否则您也可以提供:
app.use('/api', expressJwt({ secret: config.secret}).unless({path: [/^\/api\/members\/confirm\/.*/]}));
答案 1 :(得分:5)
您必须使用正则表达式来实现所需的功能,还可以在另一个字段中添加以指定允许的方法,如下所示:
expressJwt({ secret, isRevoked }).unless({
path: [
{ url: /^\/api\/members\/confirm\/.*/, methods: ['GET', 'PUT'] }
]
})