使用Create React App 是否有人提供有关如何最好地解决此问题的提示,以便我的应用程序至少包含一些安全性

问题描述

我正在构建连接到rest api的单页应用程序,该应用程序具有一些受保护的路由和内容(仅当用户登录时才可以访问)。因此,此路由保护的逻辑起作用。

在其余api中登录时,会在客户端的浏览器中设置一个已签名的cookie。

受保护路由的逻辑如下:

import Cookies from 'js-cookie'

export const loggedIn = () => Boolean(Cookies.get('Authorization'))

(loggedIn() ? <RenderRoutes {...props} /> : <Redirect to={'/'}

因此,基本上,当有一个名为Authorization的cookie时,它将提供对该页面的访问权限,否则将重定向到主页。

现在的问题是,我无法在Create React App中专门get signedCookie。我需要这样做是因为在这种情况下,用户可以自己创建一个名为Authorization的新cookie,其中包含一些随机内容,这样他就可以访问受保护的页面

我特别想要signedCookie,因为如果用户修改了cookie,则cookie将不再存在于signedCookie部分中。

但是我找不到如何在前端获得这个签名的Cookie的方法。我在另一个项目中是通过express.js和req.cookie.signedCookie['cookie_name']完成的。但这只是一个没有服务器逻辑的前端(创建React App),我也不希望它具有任何逻辑。

因此,我一直在考虑用户何时登录,以指示用户登录的状态存储一些值,从而可以访问受保护的路由。但是我不确定这是否是 right approach ,因为用户还可以更改状态权吗?

是否有人提供有关如何最好地解决此问题的提示,以便我的应用程序至少包含一些安全性。

侧面说明:服务器验证授权令牌并在密钥包含垃圾时立即引发错误。但这不会阻止客户端呈现受保护的路由。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)