好的,我们开始。 JWT 公钥轮换导致的验签失败与 JWKS-URI 动态刷新及本地缓存双写一致性 大家好,今天我们要探讨一个在微服务架构中常见的安全问题:JWT (JSON Web Token) 公钥轮换导致的验签失败,以及如何通过 JWKS-URI (JSON Web Key Set URI) 动态刷新和本地缓存的双写策略来保证一致性,从而解决这个问题。 JWT 简介与公钥轮换的必要性 首先,我们简单回顾一下 JWT。JWT 是一种用于在各方之间安全地传输信息的开放标准 (RFC 7519)。它是一种紧凑、自包含的方式,用于以 JSON 对象的形式安全地传输信息。JWT 可以被验证和信任,因为它是经过数字签名的。 JWT 通常由三个部分组成: Header (头部): 定义 JWT 的类型和使用的签名算法,例如: { “alg”: “RS256”, “typ”: “JWT”, “kid”: “your-key-id” } alg 表示签名算法,kid 表示密钥 ID,用于标识使用哪个密钥进行签名。 Payload (载荷): 包含要传输的数据,例如用户 ID、角色等。 { “sub …