使用Cookie管理react中的会话



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

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

例如:

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

如果有人有任何想法来解决这个问题,那将是非常有帮助的。

如果您只想使用httOnlycookie,那么您唯一的选择就是对BE执行身份验证检查,它将根据该cookie返回响应(您使用此端点检查身份验证(。

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

但你应该知道,普通的cookie和httpOnlycookie都可能被盗,所以这就是他们不建议在cookie中存储JWT令牌的原因。(但是的,httpOnlycookie比普通cookie安全得多,但仍然不是100%安全(

最新更新