【发布时间】:2015-06-02 05:39:41
【问题描述】:
我正在尝试将 Amazon Web Services 集成到我的应用程序中,但坦率地说,这是一个重大挑战,而且非常烦人。
我正在使用适用于 iOS 的 Amazon SDK (V2.1.0),这就是我想要实现的目标:
- 在我的应用中,我有一个注册屏幕,我的用户可以在其中使用 Facebook 或创建帐户来注册我的应用
- 如果用户希望创建一个帐户,我计划使用 Amazon Cognito 安全访问 Amazon DynamoDB(通过 iOS 应用程序),我将在其中存储电子邮件和密码。
我试图让 Amazon Cognito 在我的 ViewController 中使用以下代码,但变量 cognitoId 的结果为零。我的代码如下:
AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1
identityPoolId:@"us-east-1:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX"];
AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1
credentialsProvider:credentialsProvider];
AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration;
NSString *cognitoId = credentialsProvider.identityId; //NULL
根据我上面解释的一切,我有以下问题:
- 我的 Amazon Cognito 使用案例在这种情况下是否正确?
- 为什么上面的代码不起作用?
- 我认为该问题可能与身份池中配置的 iam 角色有关。我不确定在安全方面要扮演什么角色。一旦用户注册,该应用程序将需要写入我的 DynamoDB 的权限,而不会暴露任何安全漏洞。任何人都可以对此提供任何见解吗?
我感谢任何可以提供帮助的人。在过去的几天里,我试图让它发挥作用,这让我失去了理智。
谢谢!
【问题讨论】:
-
我很想与您谈谈您使用 Cognito 的经历。请给我发电子邮件 - 我的电子邮件在我的 stackoverflow 个人资料页面上。
标签: ios objective-c amazon-web-services amazon-cognito