2

这是我的用例。

在我使用 express-jwt 模块的快递应用程序中,我有 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']}));

在这种情况下,它不像我预期的那样工作......有没有办法在一个快递应用程序中实现这一目标?

提前感谢您的帮助!

4

1 回答 1

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

于 2015-03-11T21:33:43.780 回答