首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果用户使用JWT在一段时间内没有活动,如何延长令牌过期时间?

如果用户使用JWT在一段时间内没有活动,如何延长令牌过期时间?
EN

Stack Overflow用户
提问于 2016-07-27 06:06:40
回答 2查看 5.7K关注 0票数 4

给出了一个普通web应用程序.的示例

传统上,我们使用会话并设置超时值= 30分钟。如果会话到期,我们将重定向用户登录。(当用户/浏览器与web应用程序交互时,过期时间将被延长)

使用JWT,如何实现?

我了解一些关于“令牌刷新”的内容,当短时间令牌过期时,它将使用刷新令牌刷新一个新令牌。

但看起来它并不关心用户是否在与网络应用程序交互。因此,只要刷新令牌是活的,浏览器总是可以得到一个新的短命JWT。

因此,问题是:如果用户使用JWT在设定的时间段内没有激活,如何延长令牌过期时间

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-27 07:19:58

如果用户处于活动状态,则在用户每次输入web应用程序时以及每一段时间(例如1小时)发出一个新的JWT。

如果用户不是活动的,但浏览器是打开的,则可以在后台向服务器请求一个新的JWT。必须在到期前请求令牌,然后在localStorage或cookie中替换令牌。这种技术也可以应用于独立的应用程序。

如果浏览器无法请求新令牌(已关闭、不活动等),则令牌将过期,您可以重定向用户以某种方式登录(如果服务器会话过期)。

检查这个JWT (JSON Web Token) automatic prolongation of expiration

票数 2
EN

Stack Overflow用户

发布于 2016-07-28 06:58:26

当用户与您的服务器交互时,您的服务器可以决定使用新的过期时间(不是在每次请求时,而是在当前JWT到期时间之前5分钟)发出另一个JWT。如果客户端接收到一个新的JWT,那么它将替换旧的JWT。

当用户什么也不做时,就不会发出新的JWT,超时后JWT将变得无效。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38606078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档