我们正在使用nimbus-jose-jwt 第三方库中的 RemoteJWKSet 进行基于 JWKS 端点的 JWT 验证。
使用 RemoteJWKSet,我们可以从远程端点检索 JWKS,并缓存检索到的 JWK 集,以最大限度地减少网络调用。它还能够在远程服务器上处理密钥轮换,因为每当密钥选择器尝试获取具有未知 KID 的密钥时,缓存都会更新。
我的问题是,假设由于安全原因,从远程 JWKS 端点中删除了一个特定的密钥集。但是当我们得到一个使用移除的密钥签名的 JWT 时,它仍然是有效的,因为该密钥集在缓存中可用(RemoteJWKSet 只会在它获得具有未知 KID 的令牌时更新缓存)。
我需要知道是否有任何可能的方法来使 RemoteJWKSet 中的缓存 JWK 集无效(如果需要重新启动服务器)?