对于同一用户,在用户请求新令牌后,JWT的签名有何不同?

时间:2019-01-06 08:18:13

标签: security authentication jwt signature

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

但是,当用户刷新令牌时,我无法找出人们如何生成不同的JWT。对我来说,为了确保在刷新令牌时生成唯一的JWT,需要更改有效负载,例如通过添加到期日期+用户ID。但是,大多数在线资源都没有提到旧的JWT过期时生成新的唯一JWT的过程。我在这里想念什么吗?当旧的JWT过期时,人们是否不生成唯一的JWT,而是仅仅在服务器端延长JWT的生存期?

1 个答案:

答案 0 :(得分:2)

  

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

是的。

  

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

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

  

当旧的JWT过期时,人们是否不生成唯一的JWT,而是仅仅在服务器端延长JWT的生存期?

否,因为这将需要维护会话,并且您失去了使用JWT的优势。刷新时,将发出一个新令牌。