IOS 和 Rails 后端 Amazon S3 直接上传
IOS with Rails Backend Amazon S3 direct upload
我目前正在尝试使用 amazon s3 从具有 Rails 后端的 IOS 应用程序上传图像。
我目前不明白安全是如何运作的。在他们的文档中
http://docs.aws.amazon.com/mobile/sdkforios/developerguide/s3transfermanager.html
我不清楚如何 upload/destroy 安全地与后端同步对象。例如,为了 post/destroy,我期待一种向 Rails 服务器请求签名的机制,然后才能将图像上传到亚马逊。但是我找不到这种机制。
有人用aws经历过这种情况吗?
如果您使用服务器为 AWS Mobile SDK 生成临时凭证,我们建议采用以下方法:
- 在您的服务器上生成访问密钥、秘密密钥和会话令牌。您有许多语言选项,包括 Java、.NET、PHP、Ruby、Python 和 Node.js.
- 通过符合
AWSCredentialsProvider
来实施您的凭据提供程序。以 AWSWebIdentityCredentialsProvider
和 AWSCognitoCredentialsProvider
的实现为例。该凭证提供者应该:
- 从您的服务器检索访问密钥、秘密密钥和会话密钥。
- 在本地保留它们直到它们过期。
- Return 请求时的凭据。
- 如果它们已过期,请从您的服务器重新检索它们。
- 调用
- refresh
时启动凭据刷新过程。
我鼓励你看一看 Amazon Cognito Identity。借助 Amazon Cognito,您可以使用 public 登录提供商(例如 Amazon、Facebook、Google 和任何 OpenID Connect 兼容提供商,或使用您自己的用户,创建用于访问 AWS 云服务的唯一最终用户标识符身份系统。它涵盖了许多自定义服务器用例,并且更易于使用和管理。
我目前正在尝试使用 amazon s3 从具有 Rails 后端的 IOS 应用程序上传图像。
我目前不明白安全是如何运作的。在他们的文档中
http://docs.aws.amazon.com/mobile/sdkforios/developerguide/s3transfermanager.html
我不清楚如何 upload/destroy 安全地与后端同步对象。例如,为了 post/destroy,我期待一种向 Rails 服务器请求签名的机制,然后才能将图像上传到亚马逊。但是我找不到这种机制。
有人用aws经历过这种情况吗?
如果您使用服务器为 AWS Mobile SDK 生成临时凭证,我们建议采用以下方法:
- 在您的服务器上生成访问密钥、秘密密钥和会话令牌。您有许多语言选项,包括 Java、.NET、PHP、Ruby、Python 和 Node.js.
- 通过符合
AWSCredentialsProvider
来实施您的凭据提供程序。以AWSWebIdentityCredentialsProvider
和AWSCognitoCredentialsProvider
的实现为例。该凭证提供者应该:- 从您的服务器检索访问密钥、秘密密钥和会话密钥。
- 在本地保留它们直到它们过期。
- Return 请求时的凭据。
- 如果它们已过期,请从您的服务器重新检索它们。
- 调用
- refresh
时启动凭据刷新过程。
我鼓励你看一看 Amazon Cognito Identity。借助 Amazon Cognito,您可以使用 public 登录提供商(例如 Amazon、Facebook、Google 和任何 OpenID Connect 兼容提供商,或使用您自己的用户,创建用于访问 AWS 云服务的唯一最终用户标识符身份系统。它涵盖了许多自定义服务器用例,并且更易于使用和管理。