Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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
Security 对于同一个用户,JWT';用户请求新令牌后,签名是否不同?_Security_Authentication_Jwt_Signature - Fatal编程技术网

Security 对于同一个用户,JWT';用户请求新令牌后,签名是否不同?

Security 对于同一个用户,JWT';用户请求新令牌后,签名是否不同?,security,authentication,jwt,signature,Security,Authentication,Jwt,Signature,我对服务器使用JWT验证用户的方式的理解是,服务器使用自己的密钥散列JWT的有效负载部分,然后将结果与JWT的签名部分进行比较。如果两个匹配,则用户发出的请求有效 但是,我无法了解当用户刷新令牌时,人们如何生成不同的JWT。对我来说,为了确保在刷新令牌时生成唯一的JWT,负载需要更改,比如添加过期日期+用户id。但是,大多数在线资源没有提到在旧JWT过期时生成新的唯一JWT的过程。我是不是遗漏了什么?当旧的JWT过期时,人们不会生成唯一的JWT,而是简单地在服务器端延长JWT的生命周期吗 我对服

我对服务器使用JWT验证用户的方式的理解是,服务器使用自己的密钥散列JWT的有效负载部分,然后将结果与JWT的签名部分进行比较。如果两个匹配,则用户发出的请求有效

但是,我无法了解当用户刷新令牌时,人们如何生成不同的JWT。对我来说,为了确保在刷新令牌时生成唯一的JWT,负载需要更改,比如添加过期日期+用户id。但是,大多数在线资源没有提到在旧JWT过期时生成新的唯一JWT的过程。我是不是遗漏了什么?当旧的JWT过期时,人们不会生成唯一的JWT,而是简单地在服务器端延长JWT的生命周期吗

我对服务器使用JWT验证用户的方式的理解是,服务器使用自己的密钥散列JWT的有效负载部分,然后将结果与JWT的签名部分进行比较。如果两个匹配,则用户发出的请求有效

是的

但是,我无法了解当用户刷新令牌时,人们如何生成不同的JWT

对于不同的有效载荷,签名会有所不同,即使更改很小。通常包括日期声明,例如使令牌始终不同的
exp
iss

当旧的JWT过期时,人们不会生成唯一的JWT,而是简单地在服务器端延长JWT的生命周期吗

不,因为它需要维护会话,而您将失去使用JWT的优势。刷新时,将发出一个新令牌

我对服务器使用JWT验证用户的方式的理解是,服务器使用自己的密钥散列JWT的有效负载部分,然后将结果与JWT的签名部分进行比较。如果两个匹配,则用户发出的请求有效

是的

但是,我无法了解当用户刷新令牌时,人们如何生成不同的JWT

对于不同的有效载荷,签名会有所不同,即使更改很小。通常包括日期声明,例如使令牌始终不同的
exp
iss

当旧的JWT过期时,人们不会生成唯一的JWT,而是简单地在服务器端延长JWT的生命周期吗


不,因为它需要维护会话,而您将失去使用JWT的优势。刷新时,会发出一个新令牌。

谢谢@pedrofb,这证实了我的信念。有趣的是,我读到的文章中没有一篇强调有效负载需要不同,到期日期/创建日期可能会在生成新签名中发挥作用。谢谢@pedrofb,这证实了我的观点。有趣的是,我读到的文章中没有一篇强调有效负载需要不同,到期日期/创建日期可能会在生成新签名中发挥作用。