【问题标题】:Access to Identity 'my-identity-that-exists-in-cognito-identity-browser' is forbidden禁止访问身份 'my-identity-that-exists-in-cognito-identity-browser'
【发布时间】:2015-07-30 01:48:42
【问题描述】:

假设您实现了两个外部提供程序,例如 TwitterFacebook 什么是 Authenticated IAM 角色信任关系的正确、最佳实践 JSON 文档。我已尝试阅读此blog post 和此documentation 但我仍然遇到问题。我目前的政策是:

{
  "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-bailey 建议的那样,您必须确保您的提供商具有正确的登录映射。遵循示例不足以满足所有情况。就我而言,我的会话非常棘手,这些会话在应用程序终止甚至重新安装时都会持续存在。如果您已经拥有社交令牌并跳过传统的登录屏幕,您必须不要忘记设置您的令牌。您不能仅仅依赖于fabric/facebook 身份验证回调。

【问题讨论】:

  • 我们的iOS sample 支持通过单一身份池对所有公共提供者进行身份验证,无需进行任何修改。
  • @BobKinney 我修改了很多策略,我不再知道自动生成的信任关系对于 cognitoAuth 角色是什么。
  • 在您链接的博客文章中,在第一个策略中将未验证的替换为已验证的,并且您拥有默认的信任策略。
  • 谢谢,我想我遇到了一个问题,我自己的开发人员滚动凭据(仍然有效)正在破坏我的新身份。

标签: amazon-iam amazon-cognito


【解决方案1】:

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

编辑:听起来登录地图内容可能存在问题。具有经过身份验证的 id 的未来调用必须具有与其链接的相同登录令牌。因此,如果您使用 Twitter auth 创建了一个身份 ID,则尝试在没有该 Twitter 令牌的情况下使用该 ID 会给您带来该异常。确保在应用重启时包含它/正确恢复应用会话……等等。 我会再看一遍,如果你不是那肯定会导致这个问题。

【讨论】:

  • 我连接的池实际上与给出此错误的池不同,因此我添加了第二个池,以防我的部分出现一些开发人员错误。
  • 其实这个错误是针对一个identity的,不是identity pool,我的错,让我从policy中去掉另一个pool id,看看会发生什么
  • 奇怪,被禁止的身份被创建没有问题dropbox.com/s/i3l9apw91h3yb71/…也许我设置登录属性的语法有问题?
  • 如果身份创建没有问题,我会认为它是沿着这些思路。您是否尝试访问经过身份验证的 id 而不包括您在创建它时提供的令牌?这是可能的原因之一。如果没有任何问题,可能值得查看上面链接的示例 Bob 以检查身份验证语法。
  • 查看编辑,我会确保您在调用 Cognito 时包含令牌。
猜你喜欢
  • 2015-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-23
  • 2019-12-11
  • 2021-05-19
  • 2018-08-01
  • 1970-01-01
相关资源
最近更新 更多