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

When exp time in JWT (JsonWebToken) will be modified. Will it be modified at client(user) side

据我了解,JWT 将在用户身份验证成功后由服务器创建。 JWT 将在 HTTP 响应中发送到客户端(用户机器)。 JWT中的exp时间会被修改吗? exp时间修改的时候,有没有机会因为客户端和服务器机器的时区不同。

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

在此过程中对 JWT 的任何修改也会使 JWT 无效,因为 JWT 已签名并且签名可以保证之后没有任何更改。

您可以访问 jwt.io 检查您的 jwt 并查看当您更改某些内容时会发生什么。如果您知道用于创建签名的 secret/key,请将其复制到 VERIFY SIGNATURE 下 table 右侧的 secret 字段中,并获得 'signature verified' 作为结果。