如何缓存来自 cognito 的 ID 令牌,以便后续访问 API 网关?
Posted
技术标签:
【中文标题】如何缓存来自 cognito 的 ID 令牌,以便后续访问 API 网关?【英文标题】:How can I cache ID tokens from cognito for subsequent hits to API gateway? 【发布时间】:2019-07-04 14:30:07 【问题描述】:如何在 AWS 中实现这个场景?
用户点击 API 网关中的 API 端点,Cognito 用于验证。用户将访问 id(Cognito 验证成功后)传递给 API 网关,然后访问令牌与 id 令牌交换后,可以将 id 令牌缓存在 API 网关或 ElastiCache 中以供后续 API 命中,以避免每个令牌交换的开销打电话?
【问题讨论】:
【参考方案1】:一些事情:
那么一旦访问令牌与 id 令牌交换,
这是不正确的。通过身份验证,您将获得 id 令牌、访问令牌和刷新令牌。
id token 是否可以缓存在 API 网关中
避免代币交换的开销
缓存智能必须内置在您的应用程序代码中。 Cognito,将识别令牌,因为它生成它(令牌有过期时间)。每次都没有交换令牌,只有传递令牌(id/access)。一旦这些 id/access 令牌过期,您可以使用刷新令牌来获取新的 id/access 令牌。所以这将只是一个小时一个电话。
【讨论】:
以上是关于如何缓存来自 cognito 的 ID 令牌,以便后续访问 API 网关?的主要内容,如果未能解决你的问题,请参考以下文章
如何从通过 Google/Federated Login 登录的 AWS Cognito 检索 id 令牌
对来自多个来源(例如 Cognito 和 Azure)的令牌进行身份验证