Sam*_*l G 8 express express-jwt
鉴于以下路线:
router.get('/api/members/confirm/:id, function (req, res, next)
Run Code Online (Sandbox Code Playgroud)
如何指定要排除的路线?我试过了:
app.use('/api', expressJwt({ secret: config.secret}).unless({path: ['/api/members/confirm']}));
Run Code Online (Sandbox Code Playgroud)
和
app.use('/api', expressJwt({ secret: config.secret}).unless({path: ['/api/members/confirm/:id']}));
Run Code Online (Sandbox Code Playgroud)
但是,除非数组中的路径似乎都不起作用?
And*_*ers 15
该express-jwt模块使用express-除非为您提供此unless方法,该方法不接受:param表达式的路径参数语法.
但它确实接受正则表达式,所以你可以这样做:
app.use('/api', expressJwt({ secret: config.secret}).unless({path: [/^\/api\/members\/confirm\/.*/]}));
Run Code Online (Sandbox Code Playgroud)
如果您不喜欢,除非有函数,您也可以给出:
var myFilter = function(req) {return true;}
app.use('/api', expressJwt({ secret: config.secret}).unless(myFilter));
Run Code Online (Sandbox Code Playgroud)
小智 6
您必须使用正则表达式来实现所需的功能,并且还可以添加另一个字段来指定允许的方法,如下所示:
expressJwt({ secret, isRevoked }).unless({
path: [
{ url: /^\/api\/members\/confirm\/.*/, methods: ['GET', 'PUT'] }
]
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6441 次 |
| 最近记录: |