【问题标题】:Get current AWS Cognito identity id from supplied credentials从提供的凭证获取当前 AWS Cognito 身份 ID
【发布时间】:2016-03-24 00:07:41
【问题描述】:

我有一个使用 Facebook 和 Cognito 进行身份验证的 iOS 应用。我可以使用从 Cognito 提取的 iOS 应用程序中的以下 AWS 凭证调用本地 ReST 服务:

accessToken: {a_token}
secretToken: {a_token}
sessionToken: {a_token}

我想从 AWS 凭证中获取当前的 Cognito 身份,以便可以将其用作 DynamoDB 表中的密钥并处理授权(我不想为此使用 IAM 角色)。我知道我可以直接从 iOS 应用程序调用 DynamoDB,但我不希望我的应用程序直接调用我的数据存储(以防我想更改数据存储、添加缓存等)。是否可以从当前的 AWS 凭证中获取当前的 Cognito 身份?


  • 我确实想在请求中传递身份 ID,因为这违背了传递令牌的目的。

  • 我确实不想也想使用 AWS API Gateway。

【问题讨论】:

    标签: amazon-web-services aws-sdk amazon-cognito


    【解决方案1】:

    您可以通过您的credentialsProvider 致电getIdentityId()continueWithBlock' you can accesscredentialsProvider.identityId`

    【讨论】:

      【解决方案2】:

      很抱歉,无法从 AWS 凭证中获取身份 ID。

      您是否有不想使用 Cognito Identity 提供的凭证直接从设备调用 Amazon DynamoDB 的原因?使用 IAM 角色,您可以限制身份的使用,使其只能写入其记录,这是我们目前推荐的方法。

      您可以参考我们的blog,了解使用 Cognito 使用 DynamoDB 进行细粒度访问。

      【讨论】:

        猜你喜欢
        • 2020-12-17
        • 2017-01-05
        • 2020-04-20
        • 2022-01-10
        • 2021-01-05
        • 2019-01-21
        • 2023-03-09
        • 1970-01-01
        • 2020-04-12
        相关资源
        最近更新 更多