api 调用的缓存如何工作?

How caching works for api calls?

我是 wso2 API 管理器的新手,无法理解 API 调用的缓存机制。 尽管我阅读了相关文档 here 数小时但仍然感到困惑。 有人可以描述一下吗? 我的意思是当我使用为应用程序生成的令牌从开发门户调用 API 时,后台会发生什么? 它如何检查令牌是否有效,如果有效,它如何为下一次调用兑现?!

谢谢

当您进行调用时,生成的访问令牌将被缓存。这就是它通常的工作方式。阅读以下文档,其中描述了与 WSO2 APIM 相关的配置。通过阅读解释缓存机制的部分,您将能够获得正确的理解。 https://apim.docs.wso2.com/en/next/reference/config-catalog/#gateway-token-cache

OAuth2 中有两种令牌,即 JWT 令牌和不透明令牌。在最新版本的 API Manager 中,您找不到不透明的令牌,因为它现在已从产品中删除。

JWT 访问令牌是 self-contained 访问令牌,网关本身可以验证访问令牌,而无需到达颁发访问令牌的密钥管理器。在 JWT 情况下,当您使用 JWT 访问令牌访问 API 时,网关首先检查缓存是否有访问令牌。如果它不可用,则只有网关验证 JWT 令牌并添加到缓存中。验证令牌后,请求将转到 API 的后端,客户端将获得响应。当下一个请求带有该令牌时,由于令牌在缓存中可用,网关将不会再次验证令牌。

在不透明令牌的情况下,当请求带有不透明访问令牌时,网关首先检查缓存,如果缓存不可用,然后网关与密钥管理器对话并验证访问令牌,然后将其添加到其缓存。当第二个请求带有相同的访问令牌时,由于令牌在缓存中可用,网关不会与密钥管理器通信。