express-jwt通过路由处理特定的秘密密码

这是我的用例。

在使用express-jwt模块的快速应用程序中,我有两个主要路线。 我想确保我的路线与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']})); 

在这种情况下,它不工作,因为我期待…是否有办法实现这一点,只有一个快速应用程序?

在此先感谢您的帮助家伙!

你的语法有点不对,上面你正在做的是设置整个应用程序的秘密。 如果你想保护某条路线,你可以做一些如下的事情。

 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的调用捕捉每一个types的HTTP调用。