当JWT(JsonWebToken)中的exp时间被修改时。是否会在客户端(用户)进行修改

时间:2017-06-22 11:12:41

标签: java rest jwt spring-rest json-web-token

根据我的理解,在成功验证用户之后,服务器将创建JWT。 JWT将在HTTP响应中发送到客户端(用户机器)。 JWT中的exp时间会被修改吗?当修改exp时间时,由于客户端和服务器计算机之间的时区差异,是否存在任何可能性。

1 个答案:

答案 0 :(得分:0)

JWT中的exp时间戳(以及所有其他时间戳)是Unix-Timestamp(定义为1970-1-1 00:00 UTC之后的秒数)(my answer here中的更多详细信息)。客户端或发送到客户端时没有自动转换/修改。但是,如果您希望构建一种机制,以便在当前令牌即将到期时使用刷新令牌请求新的访问令牌,则可以解码客户端上的JWT,然后提取时间戳并将时间戳转换为本地时间。

对JWT的任何修改也会使JWT无效,因为JWT已经签署并且签名是为了保证之后没有任何改变。

您可以访问jwt.io查看您的jwt,看看当您更改某些内容时会发生什么。如果您知道用于创建签名的密钥/密钥,请将其复制到VERIFY SIGNATURE下表格右侧的secret字段中,并作为结果进行“签名验证”。