为了让给定用户使用Cognito登录,使用aws-sdk我需要对特定区域执行请求,即
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'eu-west-1:id',
Logins: {
'accounts.google.com': idToken
}
});
假设我有2个Cognito池:一个在美国,一个在欧盟。我想做的是将此请求发送到最近的Cognito区域。
向API网关发送请求时遇到同样的问题。必须使用区域创建签名签名。 (我实际上正在使用自动生成的API,这对我来说是这样做的)
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一起分发的,所以这样做的最佳方法是什么?
我提出的唯一解决方案是:
答案 0 :(得分:0)
对于API网关,目前无法设置任何类型的自动路由到最近的区域。这是一个常见的功能,它最终会在我们的积压工作中实施。目前,您可以将区域选择逻辑构建到客户端应用程序中,也可以将不同版本的客户端分发到不同的区域。