【问题标题】:How can I upload files to SoftLayer from my web app without exposing my username and key?如何在不暴露我的用户名和密钥的情况下从我的 Web 应用程序将文件上传到 SoftLayer?
【发布时间】:2016-06-07 05:47:02
【问题描述】:

我正在使用 IBM 的 SoftLayer Object Storage,它类似于 Amazon 的 S3。

在我的网络应用中,我允许用户上传文件。目前,Web 应用程序与我的 RESTful API 通信,然后与 SoftLayer 对象存储 API 通信。与 SoftLayer 的通信需要用户名和密钥——这些都是保密的。

因为上传文件可能很大,我想绕过我的 API 并直接从我的网络应用程序与 SoftLayer 通信。我相信这是可能的,但问题是我将通过我的应用程序在 JavaScript 中公开可见的源公开我的用户名和密钥。

SoftLayer 有什么办法解决这个问题吗?

S3 似乎可以做到这样的事情:

【问题讨论】:

  • 我正在拼命寻找如何使用softlayer对象存储,尤其是直接上传......你想在这里分享一些代码!我会很感激的

标签: ibm-cloud-infrastructure object-storage ibm-cloud-storage


【解决方案1】:

您可以生成一个有效期为 24 小时的令牌,并且无需在每次通话时使用凭据。

您可以使用此“令牌”通过 REST API 获取/创建/删除容器、文件。

请参阅以下链接中的“对对象存储进行身份验证”部分:

Managing SoftLayer Object Storage Through REST APIs

此外,您还可以在此链接中找到有关通过 REST API 使用 SoftLayer 对象存储的更多信息。

【讨论】:

  • 不错。所以我可以让我的 API 请求这个令牌并将其传递回我的网络应用程序,然后我的网络应用程序将永远不需要知道用户名或密钥。
  • 另请注意,在容器上设置“X-Container-Meta-Access-Control-Allow-Origin”是必要的。此外,SoftLayer 使用 OpenStack/Swift,因此 OpenStack/Swift 库应该与 SoftLayer 兼容。
  • 您可以在这里找到更多信息:Object Storage API overview,如果您有任何特殊问题,请告诉我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
  • 1970-01-01
  • 2018-03-02
  • 2011-05-16
  • 2010-09-14
  • 2017-05-05
  • 2021-10-24
相关资源
最近更新 更多