如何防止Angular / Node上的权限升级?

时间:2018-05-03 23:36:51

标签: angular security authorization jwt

我在角度/节点架构上存在授权困境:

登录后,用户从节点REST端点请求权限。之后,Angular客户端将其保存并LocalStorage。这一切都很好,但我担心恶意用户有可能在LocalStorage中找到权限,并且很容易将其权限升级到allowdelete: true等等上。然后,Angular会愉快地使用该新权限,并允许用户做任何他选择做的事情(直到他点击API服务器,在执行之前再次验证权限)。

我考虑了两个选项

选项1:将权限包装为JWT

这允许pdr-api签署令牌,以便我们检查它是否被篡改。

通过选择此选项,我认为我需要:

1)在信任有效载荷之前始终验证令牌

2)根据此SO帖子(JWT Verify client-side?),签名的验证应该只在服务器上进行。

选项2:无论如何都要抓住权限而不用担心

这将是一个已知的限制。风险相对较低,因为即使他们可以进入应用程序的未经授权的部分,API服务器甚至不会给它一天中的时间,因为他们没有被授权。

如果我选择Option A,那么我不妨在每次需要权限时询问API服务器,因为它类似于命中服务器来验证令牌......对吗?

我倾向于Option B。这是一个合理的(安全的)决定吗?有没有其他想法?身份验证是通过cookie和passport.js处理的,所以我甚至不担心......只是授权。

0 个答案:

没有答案