何时 JWT 中的 exp 时间将被修改(JsonWebToken).是否会在客户端(用户)端修改



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

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

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

您可以访问 jwt.io 来检查您的 jwt,看看当您更改某些内容时会发生什么。如果您知道用于创建签名的密钥/密钥,请将其复制到表右侧"验证签名"下的secret字段中,并因此获得"签名验证"。

相关内容

  • 没有找到相关文章

最新更新