我正在考虑对我的应用进行授权。除了针对mongo数据库的JWT身份验证之外,我还希望为某些角色保护某些路由。我对OAuth或第三方服务
不感兴趣我遇到的困难是在哪里存储角色。如果我查询数据库以进行身份验证并返回令牌,是否还应该返回有效负载中的角色?然后,在通过身份验证后,检查中间件是否进一步授权了用户?有人不能使用管理员权限重写令牌吗?
执行此操作的标准方法是什么?
这最终是api在前端提供角度应用的
谢谢
答案 0 :(得分:0)
使用JWT signed token
来执行此操作的标准方法,该方法由服务器上生成的服务器上的私钥签名,并将公钥发送给所有使用的客户端。如果有人更改了令牌中的主体,服务器将使用认证机构尝试通过其私钥以数字方式验证签名。由于此令牌与通过服务器签名发送的令牌不同,因此签名将永远不匹配。
此外,为了保护您的JWT token
作为在线会话的一部分而被嗅探,您制定了CSRF/XSRF缓解策略