DJANGOGRAPHQLJWT:我们如何知道刷新令牌在发出之后有多旧?

2024-04-19 18:16:06 发布

您现在位置:Python中文网/ 问答频道 /正文

概述

基于在长时间运行的刷新令牌的Settings部分找到的概念。在

It means that you need to refresh [access token] every 5 mins and you need to replace your refresh token in 7 days after it has been issued.

这将允许用户维护刷新令牌会话,只要我们可以在7天内刷新它(例如'JWT_REFRESH_EXPIRATION_DELTA': timedelta(days=7))。在

请注意,不能使用过期的刷新令牌调用refreshToken(refreshToken: $refreshToken),因为这可能导致"message": "Refresh token is expired"。在

问题

现在的问题是我们如何知道刷新令牌将在7天后过期?所以我们可以创建一个逻辑来检查它是否还有1天的时间进行会话,然后触发refreshToken()突变?在

结论

在不知道刷新令牌的过期日期的情况下,开发人员必须集成到存储刷新令牌在客户端发出之后的日期,以确定刷新令牌的期限。在

如果我遗漏了什么,也许已经有一个简单的方法来处理刷新令牌过期日期的检查?在


Tags: totokenyou概念thatsettingsaccessit
1条回答
网友
1楼 · 发布于 2024-04-19 18:16:06

JWT令牌实际上是一个Base64编码的字符串,它存储许多自己的属性,包括您要查找的属性。JWT令牌的优点在于它还包括一个散列,它基于令牌的有用部分。这意味着,如果有人通过更改到期/发行日期、用户名或自定义值来更改JWT令牌,哈希将不再有效,令牌将被拒绝。在

在您的例子中,这意味着您可以接受一个令牌,将字符串解码为一个JSON对象,检查其值,并根据其内容作出响应。希望这有帮助!在

相关问题 更多 >