javascript - AWS : Invalid identity pool configuration. 检查为此池分配的 IAM 角色

标签 javascript angularjs amazon-web-services aws-sdk amazon-cognito

我已经创建了一个用户池和身份池。

我用过javascript sdk。

我可以使用 javascript sdk 成功注册、发送确认码和确认用户。

但是当我尝试使用身份验证方法登录用户并尝试通过使用以下代码传递 idToken 来使用“CognitoIdentityCredentials”获取凭据时

logins[cognitoEndpoint + "/" + userPoolId] = jwtToken;

    AWS.config.credentials = new AWS.CognitoIdentityCredentials({
      IdentityPoolId: identityPoolId,
      Logins: logins
    });

它给我下面的错误

Error: Invalid identity pool configuration. Check assigned IAM roles for this pool.
    at Request.extractError (aws-sdk.js:104063)
    at Request.callListeners (aws-sdk.js:106060)
    at Request.emit (aws-sdk.js:106034)
    at Request.emit (aws-sdk.js:105121)
    at Request.transition (aws-sdk.js:104843)
    at AcceptorStateMachine.runTo (aws-sdk.js:108480)
    at aws-sdk.js:108492
    at Request.<anonymous> (aws-sdk.js:104859)
    at Request.<anonymous> (aws-sdk.js:105123)
    at Request.callListeners (aws-sdk.js:106070)

我已授予管理员访问身份池的“未经身份验证的 Angular 色”和“未经身份验证的 Angular 色”以及我正在使用其凭据的用户。

我是 aws 的新手。谁能告诉我我错过了什么?

如有任何帮助,我们将不胜感激。

最佳答案

检查您在 Cognito 身份池(联合身份)中分配的 Angular 色是否与身份池具有信任关系。

获取身份池 ID + 无效 Angular 色的名称。为此:

  • 转到 Cognito
  • 选择管理联合身份
  • 选择身份池
  • 点击编辑身份池(右上角)
  • 记下身份池 ID
  • 记下不起作用的 Angular 色的名称(例如 Cognito_blahUnauth_Role

在 IAM 中,检查 Angular 色的信任关系。 确保 StringEquals 条件值与身份池 ID 匹配

为此:

  • 转到 IAM
  • 点击 Angular 色
  • 点击您之前记下的 Angular 色名称
  • 点击信任关系
  • 在条件下的右侧,检查 StringEquals 条件是否包含您之前记下的身份池 ID。

编辑信任关系以修复。

关于javascript - AWS : Invalid identity pool configuration. 检查为此池分配的 IAM 角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44043289/

相关文章:

javascript - 如何根据条件对多组输入进行验证

javascript - 使用 Apollo 链路状态缓存实现客户端过滤

javascript - event.returnValue = false 替换 preventdefault 在 IE 11 中不起作用

javascript - MomentJS - isValid() 方法未正确验证

python - 在 AWS 上使用 starcluster 和 ipython 进行集群计算

amazon-web-services - 为什么在 AWS CLI 中使用预签名 URL 时需要指定区域?

javascript - 我可以在 Google Places API 调用中使用格式化地址吗

javascript - 尝试避免将重复项插入数组 Angular

javascript - AngularJS ng-repeat map (对象)不实时更新 DOM

amazon-web-services - 从 IronWorker 实例访问 Amazon RDS MySQL 实例