我的后端应用服务器(ejabberd,托管在AWS EC2上)有自己的用户身份验证过程。我的iOS客户端直接与它连接以进行用户登录,但是客户端还需要单独访问S3存储桶-为此,我正在尝试利用AWS Cognito。
如果我将下面推荐的iOS开发工具包代码整合到我的应用程序中,我可以让应用程序将数据上传到S3存储桶或从存储桶下载数据。文档here ...
AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc]
initWithRegionType:AWSRegionUSEast1 identityPoolId:@"IDENTITY_POOL_ID"];
AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc]
initWithRegion:AWSRegionUSEast1 credentialsProvider:credentialsProvider];
AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration;但是,我的问题是-凭据在哪里/如何每小时刷新一次?上面的代码对我来说似乎还不够-身份池实际上是硬编码在应用程序中的,并且可以通过反编译它的人来检索。我可能遗漏了一些基本的东西..。
感谢你的帮助。
发布于 2016-09-03 03:18:45
身份池id通常嵌入在应用程序中,在这方面您不会遗漏任何一步。通过使用auth和unauth角色来严格定义允许每个用户和用户类型执行的操作,可以降低风险。
凭据提供程序自动为您管理凭据。当它们过期时,它将获得新的并使用它们。您所要做的就是将其传递给您的应用程序当时需要的任何AWS客户端。
https://stackoverflow.com/questions/39299068
复制相似问题