当前位置: 首页 > 知识库问答 >
问题:

如何设置json web令牌过期和验证

刘棋
2023-03-14

问题是,当比较这两个日期时,令牌将在大约17小时后过期,这是错误的,因为在生成时,令牌应该只长1分钟。

如果有人能帮助我,我非常感激

共有1个答案

奚飞星
2023-03-14

看起来您的代码假设过期和在属性处发布被定义为毫秒(60000毫秒=60秒=1分钟)。

然而,JWT规范规定exp和iat使用“自纪元以来的秒”。在这里看到答案:https://stackoverflow.com/a/39926886/12086953

因此,只需将第一个代码片段中的值更改为60秒后过期,而不是60000秒(不到17小时),如下所示:

const myToken = jwt.sign({ id: '12345677', username: 'emailtest@uu.com' }, 'mysecretjsonwebtoken', { expiresIn: 60, audience: '12345677' })
 类似资料:
  • 我已经阅读了跑道文档。我特别考虑了以下关于使用的声明: 此请求返回与上述相同的数据,您可以继续反复执行此操作,以保持应用程序的身份验证,而无需要求用户重新身份验证。 这是否意味着将无限期有效或过期: < li >签发后X天;或者 < li >最后一次使用它获取新的< code>access_token后的X天 编辑:请参阅此跑道线程,该线程提出相同的问题,但似乎没有给出任何关于Oauth2.0协议

  • 我一定是漏掉了什么! 我一直在尝试使用新的(对我来说是新的,来自delphi xe2环境)TOAuth2Authenticator、TRESTClient、TRESTRequest、TRESTResponse组件刷新过期的OAUTH2令牌 null 我假设(看来是错误的),如果我尝试对服务器执行请求,并且令牌已经过期,那么组件应该有足够的细节来意识到令牌已经过期,并在需要的时候刷新它。 我认为没有

  • 我对android Gcm令牌过期策略很好奇。当我希望向Gcm服务注册的设备能够接收Gcm推送消息时,我将向API注册它。 然后我会得到一个Gcm令牌“a”。如果我从未在play store上升级我的应用程序版本代码。谷歌会用“B”刷新它并自动终止“A”吗? 如果是,它什么时候做。我看过一些文章说,一旦“A”被“B”刷新,那么当服务器试图向“A”发送消息时,服务器将获得新的注册标识“B”。我现在想

  • 当然,如果我们对每个请求进行一次到DB的往返,那么我们就可以验证帐户是有效的还是无效的。我的问题是,什么是最好的方法来照顾这种情况的长寿命代币。 提前道谢。

  • 我正在使用NodeJS访问Azure ServiceBus,它工作了好几天。突然,我开始收到错误 订阅删除错误:错误:401-ExpiredToken:。跟踪ID:xxxxxx-xxxxxxx,时间戳:2015年4月8日12:32:54 PM 我正在使用连接字符串连接到ServiceBus 只有一个共享访问策略“RootManageSharedAccessKey”具有“管理、发送、监听”的权限 这

  • 当访问Google-Drive时,访问令牌可能过期,我们可以使用刷新令牌获得新的访问令牌。但是,有许多可能的原因,即刷新令牌本身停止工作或过期,请参见: https://developers.google.com/identity/protocols/oauth2#过期 所以我的问题是,如果刷新令牌在6个月后过期了会发生什么,我如何检测它?刷新访问令牌的请求是否在403被禁止的情况下失败,或者返回