AWSCognito 配置错误中缺少区域

Posted

技术标签:

【中文标题】AWSCognito 配置错误中缺少区域【英文标题】:AWSCognito Missing region in config error 【发布时间】:2015-11-05 17:03:58 【问题描述】:

我在后端使用aws-sdk javascript,可以正常使用AWS,但是当我尝试使用getOpenIdTokenForDeveloperIdentity 方法时,我得到"Missing region in config error" 作为响应。

var config = new AWS.Config(
  accessKeyId: "MYACCESSKEY", secretAccessKey: "MYSECRETYKEY", region: 'us-east-1'
);

var params = 
  IdentityPoolId: 'MYIDENTITYPOOLID', /*   required */
  Logins:  /* required */
    "login.my.myapp": 'string',
    /* anotherKey: ... */
  ,
  IdentityId: null,
  TokenDuration: 0
;

cognitoidentity.getOpenIdTokenForDeveloperIdentity(params,function(err, data) 
  if (err) console.log(err, err.stack); // an error occurred
  else console.log(data);               // successful response
);

在文档中它说:

默认情况下,凭据和区域设置未配置。这应该由应用程序在使用任何 AWS 服务 API 之前进行配置。

所以我设置了我的地区,但为什么我仍然收到错误?

【问题讨论】:

另见:Configuring region in Node.js AWS SDK 【参考方案1】:

您在本地 config 变量中设置区域。应该在全局AWS.config中设置,像这样:

AWS.config.region = 'us-east-1';

这同样适用于凭据。如果您想为所有 AWS 客户端使用 Amazon Cognito 凭证,您应该像这样初始化 AWS.config.credentials

AWS.config.credentials = new AWS.CognitoIdentityCredentials(
    IdentityPoolId: 'YOUR_POOL_ID'
);

我希望这会有所帮助!

【讨论】:

以上是关于AWSCognito 配置错误中缺少区域的主要内容,如果未能解决你的问题,请参考以下文章

AWS Cognito - 启用 MFA |错误:如果配置了 SMS 角色,则无法关闭 MFA

AuthError - 错误:未正确配置 Amplify / AWS cognito,React JS

phpMyAdmin 错误:缺少 mbstring 扩展名。请检查您的 PHP 配置

模拟器错误:此 AVD 的配置缺少内核文件

无法读取配置节 system.serviceModel 因为它缺少节声明的解决方法

错误 ITMS-90283:配置文件无效。捆绑包中包含的配置文件无效 [缺少代码签名证书]