【问题标题】:When exp time in JWT (JsonWebToken) will be modified. Will it be modified at client(user) side当 JWT (JsonWebToken) 中的 exp 时间将被修改时。是否会在客户端(用户)端进行修改
【发布时间】:2017-11-25 15:13:10
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-12
      • 1970-01-01
      • 1970-01-01
      • 2014-07-07
      相关资源
      最近更新 更多