AWS HTTP API网关JWT授权器是否会缓存公钥避免重复调用授权服务器?
AWS HTTP API网关JWT授权器公钥缓存说明
AWS HTTP API网关配置的JWT授权器确实会对公钥进行缓存,可避免每次鉴权都向授权服务器发起公钥拉取请求,具体规则如下:
- 缓存触发逻辑:你完成JWT授权器配置后,网关首次处理需要鉴权的请求时,会从配置的
issuer(签发者)对应的JWKS(JSON Web Key Set)端点拉取全量公钥集合,默认缓存时长为5分钟。 - 缓存刷新触发条件:仅在两种情况下网关会重新向授权服务器拉取公钥:
- 已有公钥缓存过期
- 收到的JWT中携带的
kid(密钥ID)不存在于当前缓存的公钥列表中
- 缓存的业务影响:
- 正常业务场景下,绝大多数鉴权请求都直接使用本地缓存的公钥完成验签,不会产生额外的公钥拉取请求,鉴权延迟更低,也不会给授权服务器带来不必要的流量压力
- 如果你在授权服务器侧更新了公钥,最长需要等待5分钟缓存过期后,网关才会拉取新公钥完成验签;如果需要即时生效,可以通过修改JWT授权器的任意配置项并重新部署API,触发缓存主动刷新
内容的提问来源于stack exchange,提问作者santhosh kadri
相关产品推荐
相关产品推荐

