我有一个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。
答案 0 :(得分:1)
从您的credentialsProvider
,您可以拨打getIdentityId()
和continueWithBlock' you can access
credentialsProvider.identityId`
答案 1 :(得分:0)
很抱歉,我无法从AWS凭据获取身份ID。
您是否有理由不想使用Cognito Identity提供的凭据直接从设备调用Amazon DynamoDB?使用IAM角色,您可以限制身份的使用,以便只能写入他们的记录,这是我们目前推荐的方法。
您可以使用Cognito参考我们的blog关于使用DynamoDB进行细粒度访问的信息。