首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在restful环境中缓存Jose4j jwks密钥集

如何在restful环境中缓存Jose4j jwks密钥集
EN

Stack Overflow用户
提问于 2017-06-17 20:12:02
回答 1查看 680关注 0票数 0

我开始使用jose4j来根据它发布的OpenedId连接来验证Azure发起的jwt令牌。都在一个宁静的环境中,这意味着没有状态。

为了避免每次请求出现时从头开始重新创建所有对象,从而避免jose4j一次又一次地检索jwk,我想使用缓存。

我面临的困境是要缓存什么:

  1. 序列化的jwks字符串并这样做,从带验证中调用,当它失败时,得到一个新的jwks。
  2. HttpsJwks
  3. HttpsJwksVerificationKeyResolver
  4. JwtConsumer

我在想JwtConsumer是最好的。如果这是一个好的选择,对此有什么想法吗?

由于缓存是在所有restfull请求上共享的,这些请求是以多种读取方式处理的(在Karaf中使用cxf蓝图),因此JwtConsumer应该是线程安全的。谁知道是不是。

我正在考虑使用ehcache或使用tid作为键的ConcurrentHashmap来缓存。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-18 12:49:12

JwtConsumer是线程安全的(只要使用的任何自定义验证器或自定义器也是线程安全的)。但是,缓存和重用HttpsJwks对象将实现绝大多数好处,因为它在内部缓存从jwks端点检索到的密钥。坚持HttpsJwks将阻止jose4j一次又一次地检索jwks端点的内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44608986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档