express-jwt 按路由处理特定的秘密密码
express-jwt handling specific secret passphrase by routes
这是我的用例。
在我使用 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']}));
在这种情况下,它并没有像我预期的那样工作...
有没有办法只在一个快速应用程序中实现这一点?
在此先感谢您的帮助!
你的语法有点不对,你上面所做的是为整个应用程序设置秘密。如果您想保护某条路线,您可以执行以下操作。
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 调用。
这是我的用例。
在我使用 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']}));
在这种情况下,它并没有像我预期的那样工作... 有没有办法只在一个快速应用程序中实现这一点?
在此先感谢您的帮助!
你的语法有点不对,你上面所做的是为整个应用程序设置秘密。如果您想保护某条路线,您可以执行以下操作。
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 调用。