在nodejs,express和jwt中为相同的路由添加多个授权
Posted
技术标签:
【中文标题】在nodejs,express和jwt中为相同的路由添加多个授权【英文标题】:Adding multiple Authorization to the same routes in nodejs, express and jwt 【发布时间】:2020-01-19 18:57:26 【问题描述】:我对 nodejs/express 还很陌生,我在单独的集合中创建了两种不同的用户类型。 我想知道是否有一种方法可以使用 jwt 在 nodejs express 中为同一路由器方法添加多个授权。 这样我就可以做这样的事情了
Router.get('/', [Auth1, Auth2], (req, res) =>
res.send('hello world');
)
对于相同的路由,基本上不同的授权用户。
提前致谢。
【问题讨论】:
【参考方案1】:在这种情况下,如果通过了 Auth1 和 Auth2,那么只有我们会得到 'hello world'。
如果有 2 种不同类型的用户,我建议使用类似的东西,
Router.get('/', authenticateUser([user1, user2]), (req, res) =>
res.send('hello world');
)
并在“authenticateUser”中间件中添加您的用户身份验证逻辑。
如果您使用的是 JWT,那么您只需使用范围声明对其进行身份验证。
【讨论】:
以上是关于在nodejs,express和jwt中为相同的路由添加多个授权的主要内容,如果未能解决你的问题,请参考以下文章
在 Rest API 中使用 Facebook 在 Express 和 NodeJS 中维护 JWT 的密钥和访问令牌
在 Express JS 和 NodeJS 中为 jsonp 回调函数添加参数