【问题标题】:AWS Cognito + API Gateway + Calling Cognito Token EndpointAWS Cognito + API Gateway + 调用 Cognito 令牌端点
【发布时间】:2022-11-15 10:19:12
【问题描述】:

菜鸟问题在这里(AWS 服务的初学者)。我想在 AWS Cognito 和将要调用 Cognito 令牌端点的网关之间创建一个 API 网关。有没有办法使用 CDK 来实现它?它用于缓存访问令牌。

【问题讨论】:

  • 你能解释一下用例吗?为什么在 cognito 之前你需要 API 网关?为了额外的缓存层?
  • 因为每次从 Cognito 获取访问令牌有点慢。因此,正在处理的一些事务正在被丢弃。我认为在两者之间添加 API 网关将有助于减少获取令牌的时间并减少丢弃的事务。我在想App - API Gateway (that has caching) - Cognito
  • 因此,使用您的应用程序/客户端的经过身份验证的用户使用其刷新令牌(TTL 月)调用 API GW,以获取下一个会话的新访问令牌(TTL 小时)。它击中缓存层的机会有多大?每次调用都需要转到 cognito,除非客户端逻辑被破坏并且访问令牌被过于频繁地获取/没有被客户端缓存
  • 问题是,调用 Cognito 令牌端点的是 Lambda 层。它用于 Opentelemetry 检测应用程序。因此,每次调用此应用程序时,Lambda 层都会调用 Cognito 令牌端点。但是 Lambda 层在将跟踪发送到收集器之前一直在丢弃事件。

标签: typescript aws-api-gateway amazon-cognito aws-cdk


【解决方案1】:

找到了一种在 Cognito 和调用者之间使用 API 网关的方法。它正在使用 HTTP 代理。

这是指南:https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-http.html

对于缓存令牌,这可能会有所帮助: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-caching-tokens.html

默认情况下,仅针对 GET 方法启用缓存。如果您尝试使用其他类型的 HTTP 方法,可能会尝试覆盖它的阶段设置。

这是指南: https://docs.amazonaws.cn/en_us/apigateway/latest/developerguide/api-gateway-caching.html#override-api-gateway-stage-cache-for-method-cache

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-29
    • 2018-12-16
    • 2019-08-20
    • 2016-08-24
    • 2017-12-30
    • 1970-01-01
    • 2023-03-25
    • 2015-09-19
    相关资源
    最近更新 更多