这是我的用例。
在使用express-jwt模块的Express应用程序中,我有2条主电源路由。我想用2个密码来保护我的路线。
app.use('/api/v1/admin', jwt({secret: "blabla1"}).unless({path:['/api/v1/admin/login']}));
app.use('/api/v1', jwt({secret: "blabla2"}).unless({path: ['/api/v1/login']}));
在这种情况下,它没有像我期望的那样工作...... 有没有办法在一个快递应用程序中实现这一目标?
提前感谢您的帮助!
答案 0 :(得分:1)
你的语法有点偏,上面你要做的就是设置整个应用的秘密。如果您想保护某条路线,可以执行以下操作。
app.all('/api/v1', jwt({secret: "blabla2"}).unless({path: ['/api/v1/login']}));
app.all('/api/v1/admin', jwt({secret: "blabla1"}).unless({path:['/api/v1/admin/login']}));
上面的代码允许您为特定路线定义不同的秘密。对app.all
的调用会捕获每种类型的HTTP调用。