1

我正在开发一个使用 Azure AD 作为我的 OAuth2.0 提供程序的应用程序。Azure 有一个带有多个公钥的 Jwks 端点,其中一个对应的私钥用于签署我的令牌。我的应用程序通过检查授权标头中的 keyid 并通过在缓存中查找来确定使用哪个密钥签署令牌来处理签名密钥解析。

我的应用程序每 5 分钟从端点获取密钥并将它们存储在缓存中,直到发生下一次获取。假设用户获得了一个用 Key#1 签名的令牌。如果 Key#1 被 Jwks 端点上的 key#2 换出,并且我的应用程序获取 Key#2 - 缓存它,然后尝试验证使用 Key#1 签名的令牌的签名,那么令牌验证显然会失败。

在达到令牌的自然过期时间之前,如何允许使用不再在 Jwks 端点上的密钥签名的令牌仍用于验证令牌?

4

0 回答 0