Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Cookie管理react中的会话_Javascript_Reactjs_Cookies_Local Storage - Fatal编程技术网

Javascript 使用Cookie管理react中的会话

Javascript 使用Cookie管理react中的会话,javascript,reactjs,cookies,local-storage,Javascript,Reactjs,Cookies,Local Storage,在我的项目中,我使用nodeJS和react。对于后端端的会话,我使用的是httpOnly cookie。因此,当用户登录时,我们将发送带有JWT令牌的httpOnly cookie(httpOnly cookie包含JWT令牌)。现在使用这个httpOnly cookie,我正在检查后端的身份验证 现在,问题是如何在react端管理会话(或进行身份验证检查)?因为在这里,我们不能使用javascript访问httpOnly cookie 例如: /登录路由-->httpOnly cookie

在我的项目中,我使用nodeJS和react。对于后端端的会话,我使用的是httpOnly cookie。因此,当用户登录时,我们将发送带有JWT令牌的httpOnly cookie(httpOnly cookie包含JWT令牌)。现在使用这个httpOnly cookie,我正在检查后端的身份验证

现在,问题是如何在react端管理会话(或进行身份验证检查)?因为在这里,我们不能使用javascript访问httpOnly cookie

例如:

  • /登录路由-->httpOnly cookie发送给用户
  • /dashboard-->假设用户想在不登录的情况下打开它的路由,那么我们首先需要检查用户是否有效(如果我们使用本地存储,那么这将很容易,因为我们只需要检查本地存储中的令牌存储)。现在,如何在cookie中检查用户的真实性

如果有人知道如何解决这个问题,这将非常有帮助。

如果您只想使用
httOnly
cookies,那么您唯一的选择就是在be上实现身份验证检查,它将根据该cookie返回响应(您使用此端点检查身份验证)

另一种选择是不使用
httpOnly
cookies。因此,如果您切换到常规cookie,您将能够在FE上验证
JWT
,就像在be上一样(在执行其他操作之前验证
JWT
的签名)


但是您应该知道,普通Cookie和
httpOnly
Cookie都可能被盗,因此他们不建议在Cookie中存储
JWT
令牌。(是的,
httpOnly
cookies比普通cookies安全得多,但仍然不是100%安全)

如果您只想使用
httOnly
cookies,那么您唯一的选择就是在BE上实现身份验证检查,它将基于该cookie返回响应(并且您使用该端点检查身份验证)

另一种选择是不使用
httpOnly
cookies。因此,如果您切换到常规cookie,您将能够在FE上验证
JWT
,就像在be上一样(在执行其他操作之前验证
JWT
的签名)


但是您应该知道,普通Cookie和
httpOnly
Cookie都可能被盗,因此他们不建议在Cookie中存储
JWT
令牌。(是的
httpOnly
cookies比普通cookies安全得多,但仍然不是100%安全)

感谢@user2704821为您抽出时间。我明白你的意思。谢谢@user2704821为你抽出时间。我明白你的意思。