JWT-在Cookie中存储令牌

JWT-在Cookie中存储令牌,jwt,express-jwt,Jwt,Express Jwt,我理解将令牌存储为cookie与使用localStorage有许多不同之处/利弊。这个问题是关于将其存储在cookie中的实际实现的问题 我感到困惑,因为如果令牌存储在cookie中,用户将始终得到验证,从而使令牌的使用变得毫无价值。令牌将始终与服务器端会话数据关联 有人能解释一下实施细节吗?示例: (1) 普通旧cookie:“旧普通cookie”中的数据:“129scdsdf23i” (2) JWT令牌:保存在cookie中的JWT数据/令牌:“1122abde” 如何验证数据/令牌是否为“

我理解将令牌存储为cookie与使用localStorage有许多不同之处/利弊。这个问题是关于将其存储在cookie中的实际实现的问题

我感到困惑,因为如果令牌存储在cookie中,用户将始终得到验证,从而使令牌的使用变得毫无价值。令牌将始终与服务器端会话数据关联

有人能解释一下实施细节吗?

示例:

(1) 普通旧cookie:“旧普通cookie”中的数据:“129scdsdf23i”

(2) JWT令牌:保存在cookie中的JWT数据/令牌:“1122abde”

如何验证数据/令牌是否为“有效身份验证”:

(1) 普通旧cookie:将“129scdsdf23i”与保存在数据库/服务器中的数据进行比较,检查它们是否“相同”

(2) JWT令牌:步骤a:验证“1122abde”,“1122abde”本身有效,因为(1+2+a)=d和(1+2+b)=e。这只是一个例子

步骤b:将“1122abde”解码为“{用户:用户1,电子邮件:user1@gmail.com“}”,如您所见,现在您获得了用户和电子邮件

所以“1122abde”是由服务器创建的,在创建过程中涉及到一个秘密随机数。黑客在不知道“秘密”的情况下永远无法创建有效的JWT令牌

“我感到困惑,因为如果令牌存储在cookie中,用户将始终得到验证,从而使令牌的使用变得毫无价值。”


=>cookie只是一个保存数据的地方,它与数据本身无关。如果cookie中有“1x22abde”,则这是一个错误的令牌,将导致身份验证失败。

JWTs的一个用途是删除服务器端会话数据。我认为您的问题目前有点宽泛,您可以考虑包括您想要做的事情的更多细节。我开始希望存储令牌客户端,但我遇到了这篇文章。问题是实现是模糊的,我不明白如何将其存储在cookie中,与仅使用普通的旧cookie完全不同-