Azure AD B2C 有一个 OpenID Connect 元数据终结点,它允许应用程序在运行时获取信息。此端点包含有关令牌签名密钥、令牌内容和端点的信息。我需要查询此端点以获取 jwk_uris。jwk_uri 具有用于签署 jwt 的密钥的 uri。我需要将这些密钥缓存不超过 24 小时。谁能建议我如何在春天做到这一点?有没有支持这个的api?
问问题
648 次
2 回答
1
如果响应的缓存指令标头不存在或指示不应缓存内容,则HttpsJwks将根据缓存指令标头或 http 响应或 setDefaultCacheDuration(long defaultCacheDuration)将键缓存一段时间。
HttpsJwks 对象可以与JwtConsumer/JwtConsumerBuilder 和 HttpsJwksVerificationKeyResolverjwk_uri
结合使用,如果它在 JWT 中遇到kid
不在缓存的一组键中的(键 ID),也会重新调用并重新启动缓存.
于 2016-05-02T12:30:19.683 回答
0
使用 spring 框架的一个可能的解决方案是将调度程序和缓存结合起来:
- 使用spring cache缓存jwks key检索服务
- 使用spring 任务调度器每 24 小时驱逐一次密钥
于 2016-04-28T14:07:32.253 回答