黑客认证usind react-dev-tools

时间:2017-08-24 14:17:44

标签: node.js reactjs authentication redux jwt

我在SPA学习基于令牌的身份验证,我遇到了一个问题。想象一下,我的应用程序中的身份验证过程是通过以下方式完成的:每当用户提供正确的凭据时,我都会给他一个令牌,并将redux store中的“authenticated”键更改为true,这样他就可以在我的应用中看到私人内容。我想隐藏的组件编码如下:

if(this.props.authenticated) {
  return <SuperSecretComponentOfIlluminatiMasonic666Chemtrails />
} else {
  return <PublicComponent />
}

我想知道这是否是一种安全的方法,因为任何人都可以安装react-dev-tools,在浏览器中翻转“已验证”的密钥,并在不提供凭据的情况下查看我想隐藏的内容。我的组件应该以不同的方式编码,还是一切都很好,我只是弄错了?我在很多教程中都看过这种方法,但这个问题不让我晚上睡觉

1 个答案:

答案 0 :(得分:5)

您应该从服务器获取受保护的内容,并且此服务器应仅在用户发送有效令牌时传递内容。

这样,是的,任何人都可以在客户端中翻转开关,但只显示UI组件,没有任何数据。

这是创建单页面应用程序时的常用方法。只要您从一开始就没有秘密或敏感数据,它们就像提供数据的服务器/ API一样安全。