首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁止访问身份'my-identity-that-exists-in-cognito-identity-browser‘

禁止访问身份'my-identity-that-exists-in-cognito-identity-browser‘
EN

Stack Overflow用户
提问于 2015-07-29 01:59:28
回答 1查看 776关注 0票数 1

假设您实现了两个外部提供者(如推特Facebook ),什么是经过身份验证的IAM角色信任关系的正确的最佳实践JSON文档。我试过阅读这个博客帖子和这个文档,但是我仍然有问题。我目前的政策是:

代码语言:javascript
复制
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Federated": "cognito-identity.amazonaws.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "cognito-identity.amazonaws.com:aud": "us-east-1:mypool"      
        },
        "ForAnyValue:StringLike": {
          "cognito-identity.amazonaws.com:amr": "authenticated"
        }
      }
    }
  ]
}

但我一直都是失败的

禁止访问身份'my-identity-that-exists-in-cognito-identity-browser‘。

这只是在我从开发者提供的认证切换到亚马逊的一个提供商之后才开始中断的。除了非常标准的设置之外,我真的找不到任何示例,而且我在尝试处理这个文档时遇到了问题。

更新

开发人员错误。正如jeff建议的那样,您必须确保您的提供商拥有正确的登录地图。下面的例子不足以满足所有的情况。在我的例子中,我有非常棘手的会话,这些会话贯穿应用程序的终止,甚至是重新安装。如果您已经拥有了您的社交标记,并且跳过了传统的登录屏幕,您就不能忘记设置您的令牌。不能只依赖fabric/facebook身份验证回调。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-29 02:34:13

对于两个提供程序使用两个池而不是仅使用一个提供程序,有什么特别的原因吗?Cognito将每个提供者的应用程序限制为每个池,但您可以在同一个池中使用不同的提供程序,这将允许您使用标准角色。

编辑:听起来,登录地图的内容可能存在这个问题。将来使用经过身份验证的id的调用必须具有链接到它的相同登录令牌。因此,如果您使用Twitter创建了一个标识id,尝试在没有Twitter令牌的情况下使用该id将给出该异常。确保你在应用程序restart...etc上包含它/正确地恢复应用程序会话。我会再看一眼,如果你不是,那肯定会引起这个问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31690026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档