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调用。