Javascript 使用Cookie管理react中的会话
在我的项目中,我使用nodeJS和react。对于后端端的会话,我使用的是httpOnly cookie。因此,当用户登录时,我们将发送带有JWT令牌的httpOnly cookie(httpOnly cookie包含JWT令牌)。现在使用这个httpOnly cookie,我正在检查后端的身份验证 现在,问题是如何在react端管理会话(或进行身份验证检查)?因为在这里,我们不能使用javascript访问httpOnly cookie 例如: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
- /登录路由-->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为你抽出时间。我明白你的意思。