【问题标题】:IOS with Rails Backend Amazon S3 direct uploadIOS 与 Rails 后端 Amazon S3 直接上传
【发布时间】:2015-05-26 21:53:30
【问题描述】:

我目前正在尝试使用 amazon s3 从带有 Rails 后端的 IOS 应用上传图片。

我目前不明白安全性是如何工作的。在他们的文档中

http://docs.aws.amazon.com/mobile/sdkforios/developerguide/s3transfermanager.html

我不清楚如何安全地上传/销毁与后端同步的对象。例如,为了发布/销毁,我期待一种向 Rails 服务器请求签名的机制,然后才能将图像上传到亚马逊。但是我找不到这种机制。

有人用aws经历过这种情况吗?

【问题讨论】:

    标签: ios ruby-on-rails amazon-web-services amazon-s3


    【解决方案1】:

    如果您使用服务器为 AWS 移动开发工具包生成临时凭证,我们建议采用以下方法:

    1. 在您的服务器上生成访问密钥、秘密密钥和会话令牌。您有多种语言选择,包括 Java、.NET、PHP、Ruby、Python 和 Node.js。
    2. 通过遵循AWSCredentialsProvider 来实现您的凭据提供程序。以AWSWebIdentityCredentialsProvider 和AWSCognitoCredentialsProvider 的实现为例。此凭据提供程序应:
      • 从您的服务器检索访问密钥、秘密密钥和会话密钥。
      • 在本地保留它们直到它们过期。
      • 在请求时返回凭据。
      • 如果它们已过期,请从您的服务器重新检索它们。
      • 在调用- refresh 时启动凭据刷新过程。

    我鼓励你看看Amazon Cognito Identity。借助 Amazon Cognito,您可以使用公共登录提供商(例如 Amazon、Facebook、Google 和任何 OpenID Connect 兼容提供商)或使用您自己的用户身份系统来创建唯一的最终用户标识符,以访问 AWS 云服务。它涵盖了许多自定义服务器用例,并且更易于使用和管理。

    【讨论】:

    • 您好洋介,感谢您的回答。只是一个关于 ruby​​ 实现的快速问题。要使用 cognito 客户端,我是否必须使用 aws 初始化程序,并且每次在请求令牌的方法中,调用 cognitoidentity = Aws::CognitoIdentity::Client.new ?或者有没有办法只实例化 CognitoIdentityClient 一次?
    猜你喜欢
    • 2011-09-01
    • 2011-05-12
    • 2015-11-09
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 2013-09-06
    相关资源
    最近更新 更多