我们正在使用nimbus-jose-jwt第三方库中的RemoteJWKSet进行基于JWKS端点的JWT验证。
使用RemoteJWKSet,我们可以从远程端点检索JWKS,并且对检索到的JWK集进行缓存,以最大程度地减少网络调用。 此外,由于只要密钥选择器尝试获取具有未知KID的密钥,缓存就会更新,因此它还可以处理远程服务器上的密钥旋转。
我的问题是,由于安全原因,我们从远程JWKS端点中删除了一个特定的密钥集。但是,当我们获得使用已删除密钥进行签名的JWT时,由于该密钥集在缓存中可用,因此它仍然有效(RemoteJWKSet仅在获取具有未知KID的令牌时才更新缓存)。
我需要知道是否有必要重新启动服务器以外的其他方法来使RemoteJWKSet中的缓存JWK无效?
答案 0 :(得分:0)
在connect2id支持门户网站[1]上提出了相同的问题
他们建议放置一个空的JWK集,这将导致RemoteJWKSet在下一次调用时从URL重新加载密钥集,作为使JWKS缓存无效的机制。