使用 JWT (Node.js + mongoose) 在 REST API 中管理用户权限的最佳方法
Posted
技术标签:
【中文标题】使用 JWT (Node.js + mongoose) 在 REST API 中管理用户权限的最佳方法【英文标题】:Best way to manage user permissions in a REST API using JWT (Node.js + mongoose) 【发布时间】:2019-06-27 13:25:48 【问题描述】:我是 mongoose 和 mongoDB 的新手,我想知道避免用户在登录后修改其他用户信息的最佳方法。
我使用 JWT 实现了身份验证系统,因此路由受到保护,但任何用户都可以编辑/删除其他用户的信息。
如果您需要更多详细信息,请告诉我。 提前致谢。
【问题讨论】:
【参考方案1】:颁发 JWT 令牌的授权服务器可以将用户权利/授权/权限放在 JWT 的“aud”声明中。然后,您的 API 可以访问“aud”声明以找出用户访问并根据该声明发送适当的响应。根据 API 响应,UI 可以启用或禁用、隐藏或取消隐藏相应的 UI 组件。
参考RFC 7519中JWT的“aud”声明详情。
【讨论】:
以上是关于使用 JWT (Node.js + mongoose) 在 REST API 中管理用户权限的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章
Node.js:签名验证(PS256)在 Node.js 中成功,但在 jwt.io 调试器中失败
Node.js - JWT、API:如何实现多个 Passport.js 身份验证中间件?