对于我们的React应用程序,我们有许多功能应该只对具有正确订阅级别的用户可用。
应用程序要求用户登录。到那时,应用程序将了解用户设置,包括他们可以/不能使用应用程序的哪些功能。
使用简单的JS调试器来更改设置,防止有人入侵他们的帐户的最佳方法是什么?
我们还处于应用程序开发的早期阶段,因此没有太多代码可供显示。我们正在寻求最佳实践和建议。
感谢的帮助
编辑:我想问题的要点是如何防止用户调整代码以显示用户可能不可用的模块。在某个时刻,将有逻辑来决定是否显示组件。。。
if (user.hasModuleA)
return new moduleA;
什么能阻止某人在运行时将代码更改为…
if (true)
return new moduleA;
您需要分离关注点;认证CCD_ 1授权。
与其从API将权限发送回普通对象中(我猜你是这样做的(,不如将细粒度访问控制和权限发送回加密的可信令牌中;像JSON Web令牌这样的东西会很好地工作。
令牌由身份验证逻辑生成,并与当前用户的其他信息一起返回。由于它是使用您的秘密进行散列的,因此客户端对令牌所做的任何更改都将产生一个完全不同的令牌,其签名会产生不匹配。
进一步阅读:
- 您应该在什么时候使用JSON Web令牌
- 使用JWT(JSON Web令牌(授权用户并保护API路由