JSON Web Token exp 时间混淆
Posted
技术标签:
【中文标题】JSON Web Token exp 时间混淆【英文标题】:JSON Web Token exp time confusion 【发布时间】:2015-09-18 06:05:36 【问题描述】:什么是 JWT 的最佳到期时间,这样用户除非单击注销,否则永远不会被注销?请注意,node.js 服务器可能会一直启动并运行
【问题讨论】:
如果您想要的话,只需将其设置为 100 年以上。 应该没有必要这样做:当 JWT 过期时,您只需在授权服务器上获得一个新的;如果用户仍处于登录状态(即没有显式退出),则可以在不打扰用户的情况下静默提供新的 JWT;请注意,这将 JWT 和用户登录会话对齐 那么将其设置为 100 年到底有什么缺点呢?在安全方面? @BidhanA 为什么还要设置过期时间呢? @HansZ。 最佳安全实践:永远存在的令牌最终会出现在错误的位置 【参考方案1】:这不是正确的做法。 永远不要让你的 jwt 有太多的过期时间。如果您的令牌被盗,则攻击者将获得更多访问权限,因为此令牌永不过期。 JWT 是基于私钥的匹配。在不更改密钥之前,您的源可以通过该密钥访问。
请改用refresh_token
。这将有过期没有过期时间。
使用您的refresh_token
获取新的access_token
。
您也可以根据设备使 refresh_token 过期。
【讨论】:
以上是关于JSON Web Token exp 时间混淆的主要内容,如果未能解决你的问题,请参考以下文章
Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'name': was exp