【问题标题】:Cognito and API Gateway closest regionCognito 和 API Gateway 最近的区域
【发布时间】:2016-10-26 05:27:05
【问题描述】:

为了让给定用户使用 Cognito 登录,我需要使用 aws-sdk 向特定区域执行请求,即

AWS.config.credentials = new AWS.CognitoIdentityCredentials({
  IdentityPoolId: 'eu-west-1:id',
  Logins: {
    'accounts.google.com': idToken
  }
});

假设我有 2 个 Cognito 池:一个在美国,一个在欧盟。我想做的是将此请求发送到最近的 Cognito 区域。

我在向 API Gateway 发送请求时遇到了同样的问题。必须使用区域创建签名的签名。 (我实际上是在使用 API 自动生成的 SDK 为我做这件事)

const api = apigClientFactory.newClient({
  accessKey: AWS.config.credentials.accessKeyId,
  secretKey: AWS.config.credentials.secretAccessKey,
  sessionToken: AWS.config.credentials.sessionToken,
  region: AWS.config.region
});

看起来 AWS 迫使我知道我想在前端连接的区域。因为前端只是与 CloudFront 一起分发的一个,所以做这一切的最好方法是什么?

我想出的唯一解决方案是:

  • 每个区域一个 s3 存储桶,其中包括应用的部署版本和区域信息
  • 每个 s3 存储桶一个云端分发
  • 通过 Route53 使用延迟或地理路由重定向到最近的云端分发。

【问题讨论】:

    标签: amazon-web-services aws-sdk aws-api-gateway


    【解决方案1】:

    对于 API 网关,目前无法设置任何类型的自动路由到最近的区域。这是一个普遍要求的功能,它在我们的积压工作中,最终将被实施。目前,您可以将区域选择逻辑构建到客户端应用程序中,也可以将不同版本的客户端分发到不同的区域。

    【讨论】:

      猜你喜欢
      • 2018-12-16
      • 2017-12-30
      • 2018-08-13
      • 2017-12-11
      • 2016-08-20
      • 2019-05-11
      • 2017-03-30
      • 1970-01-01
      • 2017-06-27
      相关资源
      最近更新 更多