【发布时间】:2019-02-26 19:20:47
【问题描述】:
我正在考虑对我的应用进行授权。除了针对 mongo 数据库的 JWT 身份验证之外,我还想为不同角色保护某些路由。我对 OAuth 或 3rd 方服务不感兴趣
我遇到的困难是在哪里存储角色。如果我查询数据库进行身份验证并返回一个令牌,我是否也应该在有效负载中返回角色?如果用户被进一步授权,然后在经过身份验证后检查中间件?有人不能用管理员权限重写令牌吗?
执行此操作的标准方法是什么?
这最终是在前端为 Angular 应用提供服务的 api
谢谢
【问题讨论】:
-
一个JWT是签名的,所以如果token被编辑了,hash将不再匹配,token可以被拒绝。不过,该检查只能在后端/API 中进行。 SPA 几乎无法提供安全保障