从提供的凭据获取当前AWS Cognito身份标识

时间:2016-02-15 00:28:08

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

我有一个iOS应用程序正在使用Facebook& Cognito。我可以使用从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。

2 个答案:

答案 0 :(得分:1)

从您的credentialsProvider,您可以拨打getIdentityId()continueWithBlock' you can access credentialsProvider.identityId`

答案 1 :(得分:0)

很抱歉,我无法从AWS凭据获取身份ID。

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

您可以使用Cognito参考我们的blog关于使用DynamoDB进行细粒度访问的信息。