【问题标题】:Is it possible to edit the expiration of JWT token?是否可以编辑 JWT 令牌的过期时间?
【发布时间】:2018-11-26 18:26:09
【问题描述】:

我是 JWT 世界的新手,很乐意在这里获得帮助。 我有一个应用程序可以完美地与这个出色的解决方案配合使用,但是在用户登录我的应用程序时发现了延长令牌过期时间的小问题。

换句话说,每次用户使用他以前的 JWT 访问我的应用时,我都想更新过期时间。

是否有任何解决方案可以在不覆盖以前的令牌并重新发行新令牌的情况下做到这一点?

谢谢!

【问题讨论】:

  • JWT 的主要思想是在不保持其余部分不变的情况下防止有效负载的变化。所以,不,您必须再次重新生成哈希部分,这实际上意味着您将重新生成整个令牌。好吧,即使负载发生变化也会使 JWT 令牌不同,因为负载存储在里面。
  • 听起来你想要的是一个刷新令牌:auth0.com/blog/…
  • @user28434 所以根据你的回答,对我来说最好的做法是什么?这样做的标准是什么?随时重新生成令牌?
  • 您应该使用刷新令牌系统,如@ThisIsNoZaku 评论。客户端可以从令牌中获取到期时间,因此它应该在到期时刷新/请求新的。

标签: node.js jwt


【解决方案1】:

是否有任何解决方案可以在不覆盖以前的令牌并重新发行新令牌的情况下做到这一点?

没有。令牌签署后,对其内容的任何修改都会使令牌失效。

【讨论】:

    猜你喜欢
    • 2020-08-17
    • 2019-04-18
    • 2023-04-04
    • 2016-11-13
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 2020-11-08
    • 2018-12-19
    相关资源
    最近更新 更多