nimbus-jose-jwt 的DefaultJWKSetCache类有两个字段,lifespan 和 refreshTime。
来自 Java 文档 -
lifespan - 缓存的 JWK 设置在过期之前的生命周期,负数表示没有过期。
refreshTime - 缓存的 JWK 集标记为刷新的时间,如果未指定,则为负数。应该更短或等于寿命。
这两者有什么区别。这是否意味着,
在使用期限到期后,缓存的 JWK 集将被逐出并再次从 jwks 远程 url 加载(在我使用时说远程 url RemoteJWKSet
)。
并且在刷新到期后,现有的 JWK 集将使用从远程 url 检索到的密钥进行更新。
但我不明白两者之间的实际区别。两者似乎都在做同样的事情。有人可以更详细地解释细节和任何例子。
编辑 - 如果我的寿命没有到期,而 refreshTime 的到期时间为 1 小时,我是否保证我的密钥将每隔一小时更新一次。