2015-06-05 64 views
0

我正在使用AWS S3在我的Android应用程序中上传和存储内容。我在java文件中使用下面的代码:如何在Android上使用AWS S3凭证上传内容

AmazonS3Client s3Client = new AmazonS3Client(
        new BasicAWSCredentials("XYZ", 
          "ABC+wktN")); 

但是这似乎很容易检索(即使apk已签名!)。我尝试过使用progaurd,但在某些移动设备上(尤其是AWS部件)崩溃了应用程序。

是否有任何方法可以隐藏代码中的凭据,而无需任何人能够检索它?或者有谁使用过其他方法?一种选择是上传到中间服务器,然后服务器将其上传到AWS S3,但这是额外的一跳。另一种方法是让应用程序通过URL调用从服务器获取凭据,而不是通过移动设备获取凭据,但如果黑客可以直接获取凭据,则也可以获取URL并获取密钥。

回答

1

Amazon Cognito可以帮助您解决问题。您可以使用它为您的应用程序提供临时的有限特权凭证。随着Cognito

你可以在博客http://mobile.awsblog.com/blog/tag/amazon-cognito和开发者指南http://docs.aws.amazon.com/cognito/devguide/identity/中找到附加信息。

+0

谢谢。让我今天尝试一下,然后回来。 –